压缩Web Service的结果

时间:2010-01-19 16:13:40

标签: java .net web-services gzip compression

我有一个返回XML的.NET Web服务,我想在发送之前对其进行压缩。

我有几种方法可以做到这一点,但我宁愿不必在代码中这样做。

我可以设置IIS来gzip我的WebService返回的所有内容吗?它不是从浏览器调用的。

另一个问题是Java客户端是否正在使用此Web服务 - 这会影响任何内容吗?

我想客户端代理仍然需要解压缩,但是如果我使用gzip就不应该有任何问题 - 这是一种通用协议,对吗?

2 个答案:

答案 0 :(得分:3)

执行此类操作的标准方法是在HTTP上使用gzip压缩,因为它直接受协议支持。只要您的客户支持,那么您应该很高兴。

如果您使用更多基础工具从头开始编写客户端,您可能需要自己为此添加处理:here (python)显示了一个很好的例子。

我希望很多SOAP客户端库都能为此提供内置支持,但你必须尝试使用​​它们才能确定:如果他们依靠较低级别的HTTP库来完成他们的工作,那很可能就是应该工作。

答案 1 :(得分:1)

您可以在iis中配置metabase.xml以更好地控制压缩。您可能需要将您的Web应用程序格式(.asp,.asmx,...)重新定义为元数据库(如果尚未包含)。 你可以看到: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/25d2170b-09c0-45fd-8da4-898cf9a7d568.mspx?mfr=true 并且 http://www.businessanyplace.net/?p=wscompress