我正在 WCF 中创建一个返回 JSON 的 Web 服务,但 DataContractJsonSerializer 对某些循环引用犹豫不决(在这种特殊情况下我无法删除)。
相反,我想使用 Newtonsoft json 库。在 WCF 中创建自定义序列化程序的最简单方法是什么?
注意:我知道我可以只返回一个流,但我不希望操作代码知道序列化内容。
最佳答案
纯 WCF:如果您控制线路的两端(在“完整”.NET 上),那么应用自定义序列化程序相对简单 - 您添加从 DataContractSerializerOperationBehavior
继承的行为,并覆盖 CreateSerializer
- 见 here (具有属性 here )。
然而!我的理解(未经测试)是启用 JSON 的 WCF 服务不会使用此路由,但会直接应用其自己的序列化程序。
关于.net - WCF 自定义序列化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967523/