我有一个用ASP.NET写的web应用程序。除了我想压缩正在返回的数据之外,所有工作都可以正常工作。数据基本上是自定义模型的列表。目前,我做这样的事情:HttpResponseMessage压缩问题
string json_string = new JavaScriptSerializer().Serialize(my_models);
using (var output = new MemoryStream())
{
using (var compressor = new Ionic.Zlib.GZipStream(output, Ionic.Zlib.CompressionMode.Compress, Ionic.Zlib.CompressionLevel.BestCompression))
{
compressor.Write(Encoding.ASCII.GetBytes(json_string), 0, json_string.Length);
}
}
然后我用以下着手:
HttpResponseMessage json = Request.CreateResponse(HttpStatusCode.OK, json_string);
json.Content.Headers.Add("content-encoding", "gzip");
这会导致应用程序错误。在浏览器(通过控制台),我看到以下消息:
ERR_CONTENT_DECODING_FAILED
我要去哪里错了吗?谢谢!
这里是一个相关的文章,也许这有助于:[ERR_CONTENT_DECODING_FAILED](http://stackoverflow.com/questions/14039804/error-330-neterr-content-decoding-failed) –
究竟是什么问题,你能显示一个堆栈跟踪或一些更详细的信息......铬的错误是非常模糊的,但它确实告诉你解码失败了,据说,你提供的细节越多,我就可以提供更好的帮助。 – TGarrett
我不知道这是你的错误的原因,但你的代码实际上并没有对压缩字节('output')做任何事情。它有点不在范围内 –