【问题标题】:JSON.NET Serializer for WCF service hosted in Windows Service or command line executable托管在 Windows 服务或命令行可执行文件中的 WCF 服务的 JSON.NET 序列化程序
【发布时间】:2012-03-29 10:05:43
【问题描述】:

在 Windows 服务或命令行可执行文件中托管了 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 中。

有什么想法吗?

【问题讨论】:

    标签: c# .net json wcf rest


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答。我暂时放弃了它,将使用 DataContractJsonSerializer 一段时间。我会接受你的回答,因为这听起来合乎逻辑,我稍后会检查它。
    猜你喜欢
    • 2012-04-07
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    相关资源
    最近更新 更多