我将 HttpListener 用于我自己的 http 服务器(我不使用 IIS)。我想通过 GZip 压缩来压缩我的 OutputStream:
byte[] refBuffer = Encoding.UTF8.GetBytes(...some data source...);
var varByteStream = new MemoryStream(refBuffer);
System.IO.Compression.GZipStream refGZipStream = new GZipStream(varByteStream, CompressionMode.Compress, false);
refGZipStream.BaseStream.CopyTo(refHttpListenerContext.Response.OutputStream);
refHttpListenerContext.Response.AddHeader("Content-Encoding", "gzip");
但我在 Chrome 中遇到错误:
ERR_CONTENT_DECODING_FAILED
如果我删除 AddHeader,那么它可以工作,但响应的大小似乎没有被压缩。我究竟做错了什么?