我一直在尝试在我的 Windows Azure 托管的 WCF Restful 服务上启用 gzip HTTP 压缩但未成功,该服务仅从 GET 和 POST 请求返回 JSON。
我已经尝试了很多事情,以至于我很难将它们全部列出来,现在我意识到我一直在处理相互冲突的信息(关于旧版本的 azure 等),所以认为最好从一个干净的状态开始!
我正在使用 Visual Studio 2008,使用 Visual Studio 的 2010 年 2 月工具。
所以,根据以下链接..
.. HTTP 压缩现已启用。我使用了下一页的建议(仅限 URL 压缩建议)..
http://blog.smarx.com/posts/iis-compression-in-windows-azure
<urlCompression doStaticCompression="true"
doDynamicCompression="true"
dynamicCompressionBeforeCache="true"
/>
..但我没有压缩。我不知道urlCompression和httpCompression之间有什么区别,这无济于事。我试图找出答案,但无济于事!
Visual Studio 的工具是在支持压缩的 Azure 版本之前发布的,这可能是个问题吗?我在某处读到,使用最新的工具,您可以在发布时选择要使用的 Azure OS 版本……但我不知道这是不是真的,如果是,我找不到在哪里选择。我可以使用启用 http 的版本吗?
我也尝试过bloery http压缩模块,但没有结果。
有没有人对如何实现这一目标有任何最新的建议?即与当前版本的 Azure OS 相关的建议。
干杯!
史蒂文
更新:我编辑了上面的代码来修复 web.config 片段中的类型。
更新 2:使用下面答案中显示的whatsmyip URL 测试响应显示我的 service.svc 的 JSON 响应在没有任何压缩的情况下返回,但静态 HTML 页面正在通过 gzip 压缩返回。我们将不胜感激地收到有关如何获取 JSON 响应以进行压缩的任何建议!
更新 3:尝试了大于 256KB 的 JSON 响应,以查看问题是否是由于 JSON 响应小于此值,如下面的评论中所述。不幸的是,响应仍未压缩。