我使用HttpListener爲我自己的http服務器(我不使用IIS)。我想壓縮由gzip壓縮我的OutputStream:C#HttpListener響應+ GZipStream
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的,那麼它的工作原理,但大小回應似乎沒有被壓縮。我究竟做錯了什麼?
由於你實際上明確地寫內容爲壓縮的,所以不可能因某個頭文件而被壓縮。你確定Chrome不僅僅給你文件的解壓縮大小嗎? – Ryan
@minitech,很好的問題!我試圖檢查流量的實際大小。 – Edward83