【问题标题】:Change default JSON serializer in WCF [duplicate]更改 WCF 中的默认 JSON 序列化程序 [重复]
【发布时间】:2017-01-11 10:19:56
【问题描述】:

我正在构建一个 WCF 服务,它也有一个 JSON 端点。

问题是 WCF 中的 DataContractSerializer 默认使用了我不想使用的标准。我考虑改变这个,但我没有找到好的方法来做到这一点。我为此找到的所有线程和解决方案都很旧,2012-2013。是否有一个干净的解决方案或 Microsoft 对 WCF 进行了一些更改以使其比编写自己的 DispatchMessageFormatter 等更容易?

请注意,我不是在谈论 Web。这是一个纯自托管的 WCF 服务。

我已经尝试实现 DispatchMessageFormatter。它可以工作,但随之而来的是一些问题,例如,所有 WebContentFormat 都必须是 Raw 等。

这个问题特别提到了该问题中已接受的答案,并在五年后要求另一种方法来做到这一点,而不会带来它带来的所有负面影响。

【问题讨论】:

  • 附加说明:这个问题可能对您来说似乎离题(谈论 Web 绑定等),但接受的答案对任何 WCF 服务都有效。
  • 这个问题特别提到了该问题中已接受的答案,并在 5 年后要求另一种方法来做到这一点,而不会带来它带来的所有负面影响。
  • “特别提到了该问题中已接受的答案” - 抱歉,我在您的问题中没有看到任何链接。约会本身并没有敲响警钟。 the answer 仍然是 在 WCF 中执行此操作的方法。如果这对于您的目的来说还不够好(很可能是这样),那么您可能应该更详细地安排您谈论的那些问题,以便我们找到更具体的解决方案。
  • 是的,也许 WCF 不是适合您的工具。您实际上可能会研究 ASP.NET MVC(不开玩笑),阅读 like this 或谷歌“wcf webapi mvc”以获取更多信息。

标签: c# .net json wcf service


【解决方案1】:

尝试在 MessageInspector 类中截取消息(分别从客户端和服务的 IClientMessageInspector 或 IDispatchMessageInspector 派生)。然后将 XML 转换为 JSON 并作为响应发送。

我没试过;这只是一个疯狂的猜测。

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 2013-09-01
    • 2011-10-11
    • 2016-02-25
    • 2011-09-30
    • 2012-11-19
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    相关资源
    最近更新 更多