2
在.NET 3.5中,是否可以重寫默認的DataContractJsonSerializer並使用JSON.net序列化器?C#WCF REST - 你如何使用JSON.Net序列化器而不是默認的DataContractSerializer?
注意:我們不想在類
在.NET 3.5中,是否可以重寫默認的DataContractJsonSerializer並使用JSON.net序列化器?C#WCF REST - 你如何使用JSON.Net序列化器而不是默認的DataContractSerializer?
注意:我們不想在類
是的,它可以這樣做使用屬性。但這並不簡單。您需要一個新的消息格式化程序,它使用JSON.NET序列化程序而不是默認的程序來轉換操作參數和WCF堆棧所需的消息對象。 http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx這個帖子就是一個例子。該代碼是爲4.0編寫的,但它應該也適用於3.5。
不錯的文章,但你會如何處理XML請求? – Tawani
和UriTemplates? – Tawani
是的,但您需要將WebContentTypeMapper實現更改爲僅爲JSON請求返回「原始」。然後將格式化程序更改爲首先檢查請求格式(通過WebBodyFormatMessageProperty);如果它是XML(或不是Raw),則將該調用委託給可處理XML的原始格式化程序。 – carlosfigueira