【问题标题】:WCF JSON Service or HTTPHandlerWCF JSON 服务或 HTTPHandler
【发布时间】:2011-07-09 12:11:33
【问题描述】:

我正在实现一些需要从服务器返回 JSON(在 .NET4 中)的 AJAX,但我对使用自定义 HTTPHandler 或 WCF 服务的优缺点有点困惑。

任何人都可以阐明哪种方法最适合几乎完全基于 AJAX 的中/大型应用程序吗?

更新

在我当前的用例中,我需要为 JQuery 插件提供自定义对象,因此我将面临在 .NET 中复制这些对象然后使用 WCF 序列化它们之间的选择,这似乎有点额外在这种情况下不需要步骤。因此,我将使用“字符串构建器”/HTTPHandler 模型进行 JQuery 交互,但如果我需要在客户端上表示 .NET 对象,我会牢记 WCF 方法。

感谢您的回复。

【问题讨论】:

  • 我见过一些人实际使用 ASP.NET MVC 并将 JSON 结果作为 JSON 服务返回。

标签: .net ajax wcf httphandler


【解决方案1】:

您能否定义交换的 JSON 消息的结构,或者您是否期望某种任意结构?

如果您可以定义 JSON 消息的结构,则可以使用 WCF 及其内置的 JSON 消息到 .NET 类型的序列化/反序列化。请求将直接路由到操作,您可以将其编码为任何其他 .NET 方法,而无需使用 JSON 或序列化 =>

  1. 从表示为 .NET 类型/类的操作中获取参数
  2. 处理它们
  3. 返回 .NET 对象作为结果

WCF 将处理与路由请求相关的所有操作、反序列化参数和序列化响应。

如果你不能定义 JSON 消息的结构,你就不能简单地将它们反序列化为 .NET 类型。在这种情况下,您可以使用 HttpHandler 并以某种方式解析 JSON。

不同之处在于 WCF 会为您做很多工作,但您必须按照自己的方式去做。在 HttpHandler 中,您将直接完全控制请求和响应,但您将自行处理所有复杂性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多