这是我以前遇到的一个问题,问题是内容长度不正确。为什么不正确?因为它可能是在压缩之前计算出来的。
我注意到你使用
鼓风机压缩
@普图特
如果您使用的是共享iis,那么可能已经有了所有现成的压缩集,因此存在一个压缩集而不是另一个压缩集,您只需要删除您的压缩集。如果这是一个问题,那么确定的内容长度是假的,因为在第一次压缩后,第二次是打破它。
使用此网站
https://www.giftofspeed.com/gzip-test/
如果不压缩默认情况下,那么你可以做得很容易。在Global.asax上
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
string sExtentionOfThisFile = System.IO.Path.GetExtension(cTheFile);
if (sExtentionOfThisFile.Equals(".aspx", StringComparison.InvariantCultureIgnoreCase))
{
string acceptEncoding = MyCurrentContent.Request.Headers["Accept-Encoding"].ToLower();;
if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
{
// defalte
HttpContext.Current.Response.Filter = new DeflateStream(prevUncompressedStream,
CompressionMode.Compress);
HttpContext.Current.Response.AppendHeader("Content-Encoding", "deflate");
} else if (acceptEncoding.Contains("gzip"))
{
// gzip
HttpContext.Current.Response.Filter = new GZipStream(prevUncompressedStream,
CompressionMode.Compress);
HttpContext.Current.Response.AppendHeader("Content-Encoding", "gzip");
}
}
}
查找更多示例:
http://www.google.com/search?q=Response.Filter+GZipStream
参考文献:
ASP.NET site sometimes freezing up and/or showing odd text at top of the page while loading, on load balanced servers