GZIP输出流

时间:2011-07-14 07:22:51

标签: c# .net xml gzipstream

我正在尝试GZIP一些通过HTTP(而不是Web服务)流式传输的XML

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
};

ZipOutputtrue,但响应似乎没有压缩。任何指针,替代技术?

我知道我可以使用SharpZipLib,但想在框架中使用GZipStream类。

2 个答案:

答案 0 :(得分:3)

在我看来,你的代码应该可以工作 - 也许可以通过调试器逐步检查代码是否真的被调用了。

有一篇很好的文章(包括一种替代技术) - http://www.west-wind.com/weblog/posts/2007/Feb/05/More-on-GZip-compression-with-ASPNET-Content

答案 1 :(得分:2)

我认为这个问题出来了 - 事实证明办公室防火墙正在剥离出站请求的Accept-Encoding标头。