2013-10-28 79 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

回答