【问题标题】:WCF gzip compression?WCF gzip压缩?
【发布时间】:2012-08-06 22:15:23
【问题描述】:

我需要压缩我的 WCF 响应。 google了几遍才发现

  • 我需要在 iis7 上启用压缩
  • 我需要在 applicationhost.config 中添加一些条目。

我的 wcf 托管在 discountasp.net 上。在控制面板中,我没有找到任何启​​用压缩的选项。 此外,applicationhost.config 位于 'C:\Windows\System32\Inetsrv\Config\applicationHost.config' 目录中。

并且在共享主机环境中,我无权访问此目录。

我的问题是,如果我的上述观察是正确的,我如何在共享主机中完成它??

编辑:

我在这里找到了一些东西: enter link description here

我试过这个没有运气。在 Fiddler 的响应头中,我没有看到任何压缩。

【问题讨论】:

    标签: asp.net wcf compression gzip discountasp


    【解决方案1】:

    另一种方法是实现一个 HttpModule,它会根据内容类型拦截响应并使用 GZipStream 类即时压缩输出。

    This post 有一个完整的例子,我已经在生产中成功地使用了这个方法。您需要做的就是更改您的 Web.config 以注册 http 模块:

    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add name="JsonCompressionModule" type="JsonCompressionModule"/>
    </httpModules>
    

    该示例针对 JSON 响应执行此操作,但没有什么可以阻止您针对 XML 响应执行相同的操作。

    【讨论】:

    • 感谢您的回复。如果我在 web.config 中添加 ,我会收到错误消息。 HTTP 错误 500.22 - 内部服务器错误 检测到 ASP.NET 设置不适用于集成托管管道模式。
    • 您好,您的问题解决了吗?请尝试将您的应用程序池更改为经典模式。如果它不能解决您的问题,请尝试联系他们的支持团队。 :)
    猜你喜欢
    • 1970-01-01
    • 2015-07-14
    • 2010-12-17
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多