2012-03-29 28 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

相关问题