GZIP 输出流
我正在尝试对一些通过 HTTP(不是 Web 服务)传输的 XML 进行 GZIP
if (ZipOutput)
{
output = new GZipStream(Context.Response.OutputStream, CompressionMode.Compress);
Context.Response.AppendHeader("Content-Encoding", "gzip");
}
else
{
output = Context.Response.OutputStream;
}
EscapeXMLTextWriter xmlWriter = new EscapeXMLTextWriter(output, new UTF8Encoding())
{
Formatting = Formatting.Indented
};
ZipOutput
为 true
,但响应似乎没有被压缩。有什么指点、替代技术吗?
我知道我可以使用 SharpZipLib
,但想使用框架中的 GZipStream
类。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在我看来,您的代码应该可以工作 - 也许可以使用调试器逐步执行它,以检查代码是否确实按照您的想法被调用。
有一篇关于此的好文章(包括一种替代技术),位于 - http://www.west-wind.com/weblog/posts/2007/Feb/05/More-on-GZip-compression-with-ASPNET-Content
It looks to me like your code should work - maybe step through it with a debugger to check that the code is really being called as you think it is.
There's a good article on this (including one alternative technique) at - http://www.west-wind.com/weblog/posts/2007/Feb/05/More-on-GZip-compression-with-ASPNET-Content
我认为这个问题已经解决了 - 结果是办公室防火墙正在删除出站请求上的 Accept-Encoding 标头。
I figured this issue out I think - it turned out the office firewall was stripping the Accept-Encoding header on outbound requests.