繁体   English   中英

如何将IIS 6和7编程为GZIP托管在其中的WCF服务生成的流量?

[英]how to program IIS 6 and 7 to GZIP the traffic generated by a WCF service hosted in it?

我知道这个理论:

  1. 激活动态内容压缩
  2. 表示扩展名为.svc的文件。

但是我该如何以编程方式表达这些需求? 我需要编写一个实用程序,该实用程序将同时在IIS6和IIS7上运行(两个单独的实用程序也可能很好)。

谢谢。

编辑

我正在使用.NET 4

查看此博客条目:

http://omaralzabir.com/wcf-does-not-support-compression-out-of-the-box-so-fix-it/

即使您在IIS 6或7中启用了动态压缩,WCF服务和客户端也不支持.NET 3.5中的HTTP压缩。它已在.NET 4中修复,但在可预见的将来仍将使用.NET 3.5。 ,您不走运。 首先,这是IIS错误,即使您在IIS 7中启用了动态压缩,它也未启用SOAP消息的http压缩。其次,WCF的错误是它没有发送Accept-Encoding:gzip,在http请求中放下标头服务器,它告诉IIS客户端支持压缩。 第三,同样是WCF的错误,即使使IIS发送回压缩的响应,WCF也无法处理它,因为它不知道如何解压缩它。 因此,您必须调整IIS和System.Net工厂才能使WCF服务的压缩工作。 压缩是性能的关键,因为它可以极大地减少从服务器到客户端的数据传输,因此如果您通过WAN或Internet交换中到大型数据,则可以显着提高性能。

有两个步骤–首先配置IIS,然后配置System.Net。 无需在WCF中进行任何调整,例如使用某些消息拦截器注入HTTP标头

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM