我有一个Silverlight 2 beta 2应用程序访问WCF Web服务。因此,目前只能使用basicHttp绑定。 Web服务将返回相当大量的XML数据。从带宽使用的角度来看,这似乎是相当浪费的,因为如果压缩,响应将小于5(实际上将响应粘贴到txt文件并压缩它)。
请求确实有“Accept-Encoding:gzip,deflate” – 有没有什么方法可以使用WCF服务gzip(或以其他方式压缩)响应?
我确实发现了这个link,但是对于应该是开箱即用的IMHO处理的功能来说似乎有点复杂。
OK – 首先,我使用System.IO.Compression作为答案标记了解决方案,因为我似乎无法让IIS7动态压缩工作。那么事实证明:
> IIS7上的动态压缩正在进行中。只是Nikhil的Web开发者助手插件IE没有显示它的工作。我的猜测是,由于SL将Web服务调用到浏览器,浏览器会将其“处理”,Nikhil的工具就不会看到压缩的响应。我可以通过使用fiddler来监测浏览器应用程序外部的流量来确认。在提琴手中,反应实际上是gzip压缩的!
> System.IO.Compression解决方案的另一个问题是Silverlight CLR中不存在System.IO.Compression。
所以从我的角度来看,在Silverlight中启用WCF压缩的EASIEST方法是在IIS7中启用动态压缩,并且根本不写代码。
解决方法
如果您使用的是IIS7,请查看
Compression Module.这样可以为您的服务器配置HTTP请求的压缩。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。