Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net WCF gzip压缩?_Asp.net_Wcf_Compression_Gzip_Discountasp - Fatal编程技术网

Asp.net WCF gzip压缩?

Asp.net WCF gzip压缩?,asp.net,wcf,compression,gzip,discountasp,Asp.net,Wcf,Compression,Gzip,Discountasp,我需要压缩我的WCF响应。 在谷歌搜索了几次之后,我发现 我需要在iis7上启用压缩 我需要在applicationhost.config中添加一些条目 我的wcf托管在discountasp.net上。在控制面板中,我没有找到任何启用压缩的选项。 此外,applicationhost.config位于“C:\Windows\System32\Inetsrv\config\applicationhost.config”目录中 在共享托管环境中,我无法访问此目录 我的问题是,如果我的上述观察是

我需要压缩我的WCF响应。 在谷歌搜索了几次之后,我发现

  • 我需要在iis7上启用压缩
  • 我需要在applicationhost.config中添加一些条目
我的wcf托管在discountasp.net上。在控制面板中,我没有找到任何启用压缩的选项。 此外,applicationhost.config位于“C:\Windows\System32\Inetsrv\config\applicationhost.config”目录中

在共享托管环境中,我无法访问此目录

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

编辑: 我在这里发现了一些东西:


我试过了,但运气不好。在Fiddler中的响应头中,我看不到任何压缩。

一种替代方法是实现一个HttpModule,该模块将根据内容类型拦截响应,并使用GZipStream类动态压缩输出

有一个完整的例子,我已经在生产中成功地使用了这种方法。您只需更改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响应执行相同的操作

一种替代方法是实现一个HttpModule,该模块将使用GZipStream类拦截基于内容类型的响应并动态压缩输出

有一个完整的例子,我已经在生产中成功地使用了这种方法。您只需更改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设置不适用于集成托管管道模式。您好,您解决问题了吗?请尝试将应用程序池更改为经典模式。如果无法解决您的问题,请尝试联系他们的支持团队。:)谢谢你的回复。如果我在我的web.config中添加,我会得到错误。HTTP错误500.22-内部服务器错误检测到一个ASP.NET设置不适用于集成托管管道模式。您好,您解决问题了吗?请尝试将应用程序池更改为经典模式。如果无法解决您的问题,请尝试联系他们的支持团队。:)