用于在Windows服务或命令行可执行文件中托管的WCF服务的JSON.NET Serializer

时间:2012-03-29 10:05:43

标签: c# .net json wcf rest

Windows Service或命令行可执行文件中托管了WCF REST服务。我想用JSON.NET序列化程序替换默认的DataContractJsonSerializer。

有一个类似的问题,但有一点不同,它使用IIS:How to set Json.Net as the default serializer for WCF REST service

建议的代码在IIS外部托管时不起作用。 它抛出以下异常:  'ServiceHostingEnvironment.EnsureServiceAvailable'无法在当前托管环境中调用。此API要求将调用应用程序托管在IIS或WAS中。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

该代码应该有效;只需从服务中删除[AspNetCompatibilityRequirements]属性,因为它并不真正适用于自托管服务。您还可以使用自定义消息格式化程序来替换序列化程序,如http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx

中所述