Tôi sử dụng HttpListener cho máy chủ http của riêng mình (Tôi không sử dụng IIS). Tôi muốn để nén OutputStream của tôi bằng cách Gzip nén:C# HttpListener Response + 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");
Nhưng tôi nhận được lỗi trong Chrome:
ERR_CONTENT_DECODING_FAILED
Nếu tôi loại bỏ AddHeader, sau đó nó hoạt động, nhưng kích thước của phản ứng dường như không bị nén. Tôi đang làm gì sai?
Không thể nén nội dung nào đó do tiêu đề, vì bạn đang viết nội dung rõ ràng như được nén. Bạn có chắc Chrome không chỉ cung cấp cho bạn kích thước * giải nén * của tệp không? – Ryan
@minitech, câu hỏi hay !!! Tôi đang cố kiểm tra kích thước lưu lượng truy cập thực tế. – Edward83