Windows服务或命令行可执行文件中托管的WCF服务的JSON.NET序列化程序

本文关键字:服务 JSON WCF 序列化 程序 NET 命令行 可执行文件 Windows | 更新日期: 2023-09-27 18:29:34

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

还有一个类似的问题,只是略有不同,即它使用IIS:如何将Json.Net设置为WCF REST服务的默认序列化程序。

在IIS之外托管时,建议的代码不起作用。它引发以下异常:无法在当前宿主环境中调用"ServiceHostingEnvironment.EnsureServiceAvailable"。此API要求调用应用程序托管在IIS或WAS中

知道吗?

Windows服务或命令行可执行文件中托管的WCF服务的JSON.NET序列化程序

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