我在我的網站上實現了Rick Strahl's GZipEncodePage方法,它對網站本身非常有用。然而,當我的代碼拋出一個異常的「服務器錯誤」頁面看起來是這樣的:在ASP.NET/IIS7中使用Gzip時出現亂碼錯誤頁面輸出
garble garble http://x01.co.uk/garbled_garble.gif
我試圖鉤住Application_Error
在努力消除gzip的頭,但無濟於事。我怎樣才能扭轉錯誤的GZipping?
我在我的網站上實現了Rick Strahl's GZipEncodePage方法,它對網站本身非常有用。然而,當我的代碼拋出一個異常的「服務器錯誤」頁面看起來是這樣的:在ASP.NET/IIS7中使用Gzip時出現亂碼錯誤頁面輸出
garble garble http://x01.co.uk/garbled_garble.gif
我試圖鉤住Application_Error
在努力消除gzip的頭,但無濟於事。我怎樣才能扭轉錯誤的GZipping?
我明白這個問題確實過時了。
上的Application_Error從響應去除過濾器,這樣
protected void Application_Error(Object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
app.Response.Filter = null;
}
希望這有助於任何人。
在我來說,我把這個在我的BasePage類,像這樣:
public class BasePage : System.Web.UI.Page
{
protected override void OnError(EventArgs e)
{
base.OnError(e);
System.Web.HttpContext context = System.Web.HttpContext.Current;
if (context != null && context.Response.Filter != null)
context.Response.Filter = null;
}
}
爲我工作。謝謝。 – 2011-10-05 13:08:25
對於任何人想知道*哪裏*準確地把這個代碼...轉儲到'Global.asax.cs'工程奇蹟。它還可以防止您需要記住從特定的類繼承(按照Vaibhav的答案),因爲它在應用程序範圍內使用。簡潔,有效,完美。 – EAMann 2011-10-21 17:14:27
http://stackoverflow.com/a/4548466/319980建議使用app.Response.Filter.Dispose()而不是僅將其分配給null。 – 2015-03-27 04:02:47