2013-10-28 37 views
2

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

问题只出现在答复的反序列化中。发送作品没有问题(SerializeRequest)

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

+0

工作正在进行中,但它已经在使用simpleobjects。没有用包含列表的对象进行测试......再加上那里有很多垃圾代码,但至少我得到了我的对象:) http://pastebin.com/kAWm7yDG – Looooooka

回答