2012-03-29 43 views
0

在Windows服務或命令行可執行文件中託管了WCF REST服務。我想用JSON.NET序列化程序替換默認的DataContractJsonSerializer。用於Windows服務或命令行可執行文件中的WCF服務的JSON.NET序列化程序

還有一個類似的問題,它有一個小的區別,它使用IIS:How to set Json.Net as the default serializer for WCF REST service

在IIS之外託管的代碼不起作用。 它引發以下異常: 'ServiceHostingEnvironment.EnsureServiceAvailable'無法在當前宿主環境中調用。此API要求將調用應用程序託管在IIS或WAS中。

任何想法?

回答

2

該代碼應該工作;只需從服務中刪除[AspNetCompatibilityRequirements]屬性,因爲它並不真正適用於自託管服務。您也可以使用自定義消息格式化程序來替換序列化程序,如http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx所述。

+0

感謝您的回答。我暫時放棄了它,並將在DataContractJsonSerializer中使用一段時間。我會接受你的回答,因爲這聽起來很合理,我稍後可能會檢查它。 – 2012-04-01 10:57:12

相關問題