【问题标题】:ChannelFactory with Json.Net formatter带有 Json.Net 格式化程序的 ChannelFactory
【发布时间】:2013-11-07 16:22:27
【问题描述】:

我设置了一个 web api rest 服务,可以使用 httpclient + json.net 格式化程序来使用它,没有任何问题。 但我想用通道工厂实现这种用法,并用 json.net 格式化程序替换默认的 json 序列化程序(不改变服务中的任何内容)。 我见过两个例子(都基于相同的代码): https://github.com/carlosfigueira/WCFSamples/tree/master/MessageFormatter/MessageFormatter/JsonNetMessageFormatter 但他们正在做的是改变服务部分以不同的方式返回数据。 如果我能以某种方式获取响应的 RAW 正文数据,则可以轻松解决这里的问题。 上面粘贴的示例使用在 IClientMessageFormatter 的 DeserializeReply 函数中接收的 XmlDictionaryReader 获取 json 数据。 Json.Net 不支持来自 XmlDictionaryReader 的反序列化,所以我猜这个数据必须在堆栈中更高的位置接收/反序列化。 或者也许这里有人知道在 DeserializeReply 函数中获取原始正文数据(json 字符串...)的方法?

问题仅在于回复的反序列化。发送作品没有问题(SerializeRequest)

有人成功解决了这个问题吗?

【问题讨论】:

  • 工作正在进行中,但它已经在使用 simpleobjects。还没有用包含列表的对象对其进行测试......而且那里有很多垃圾代码,但至少我把我的对象拿回来了 :) pastebin.com/kAWm7yDG

标签: c# asp.net json.net wcf-web-api channelfactory


【解决方案1】:

也可以使用列表: http://pastebin.com/UU05tNRj

DateTime 值转换为 LocalDateTime。 问题结束:)

【讨论】:

    猜你喜欢
    • 2018-12-16
    • 2015-12-22
    • 1970-01-01
    • 2012-03-29
    • 2020-06-05
    • 2014-08-15
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    相关资源
    最近更新 更多