有一个WCF REST服务托管在Windows服务或命令行可执行文件中。我想用JSON.NET序列化程序替换默认的DataContractJsonSerializer。
还有一个类似的问题,只是略有不同,即它使用IIS:如何将Json.Net设置为WCF REST服务的默认序列化程序。
在IIS之外托管时,建议的代码不起作用。它引发以下异常:无法在当前宿主环境中调用"ServiceHostingEnvironment.EnsureServiceAvailable"。此API要求调用应用程序托管在IIS或WAS中
知道吗?
该代码应该可以工作;只需从服务中删除[AspNetCompatibilityRequirements]
属性,因为它并不真正适用于自托管服务。您还可以使用自定义消息格式化程序来替换序列化程序,如中所述http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx.