【发布时间】:2012-02-24 08:59:07
【问题描述】:
我在 global.ascx 中添加了一个名为 Application_PreRequestHandlerExecute 的方法,如下所示:
void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
string sExtentionOfThisFile = System.IO.Path.GetExtension(cTheFile);
if (sExtentionOfThisFile.Equals(".aspx", StringComparison.InvariantCultureIgnoreCase))
{
HttpApplication httpApp = (HttpApplication)sender;
string acceptEncoding = httpApp.Request.Headers["Accept-Encoding"];
if (string.IsNullOrEmpty(acceptEncoding))
{
return;
}
acceptEncoding = acceptEncoding.ToLower();
System.IO.Stream requestStream = httpApp.Response.Filter;
if (acceptEncoding.Contains("gzip"))
{
httpApp.Response.Filter = new System.IO.Compression.GZipStream(requestStream,
System.IO.Compression.CompressionMode.Compress);
httpApp.Response.AppendHeader("Content-Encoding", "gzip");
}
else if (acceptEncoding.Contains("deflate"))
{
httpApp.Response.Filter = new System.IO.Compression.DeflateStream(requestStream,
System.IO.Compression.CompressionMode.Compress);
httpApp.Response.AppendHeader("Content-Encoding", "deflate");
}
}
}
浏览正常页面时有效。
但是如果一个页面包含 UPDATE-PANEL 就会发生错误。 我得到一个 PageRequestParserException。 当更新面板异步回发时,会发生此错误。
有什么想法吗?
【问题讨论】:
-
@SanjayGoswami PageRequestParserException
-
@SanjayGoswami PageRequestParserException 它发生在更新面板回发请求时
-
@Kevin 你确定这是压缩而不是其他错误吗?
-
@Aristos 详细信息:“82&ModeType=Verifica”附近的错误解析完整网址为:127.0.0.1/displaydatabase/shared/…
-
@Kevin 好的,出现此错误的位置。去做。 1.移除更新面板,看看错误是否依然存在。