查看输出中的ASP.NET MVC2 CrAzY字符


这是我为解决这个问题所做的。 我仍然在努力寻找更好的方法。 将下面的代码放在global.asax.cs中

    protected void Application_PreSendRequestHeaders()
    {
        HttpResponse response = HttpContext.Current.Response;
        if (response.Filter is GZipStream && response.Headers["Content-encoding"] != "gzip")
            response.AppendHeader("Content-encoding", "gzip");
        else if (response.Filter is DeflateStream && response.Headers["Content-encoding"] != "deflate")
            response.AppendHeader("Content-encoding", "deflate");
    }

更新查看以下链接,了解Rick使用以下方法解决问题的更多信息。 在你的global.asax.cs中放置以下内容

protected void Application_Error(object sender, EventArgs e)
{
        // Remove any special filtering especially GZip filtering
        Response.Filter = null;
}

http://www.west-wind.com/weblog/posts/2011/May/02/ASPNET-GZip-Encoding-Caveats


这看起来像是在响应中使用无效的字符集编码时可能会遇到的问题?

你使用什么编码? Unicode / UTF8还是亚洲字符集?


不,它不是无效的字符集问题; 我以前有过这种情况。 发生的事情是你正在缩小内容,并以某种方式(发生异常,忘记等)不设置你在标题中使用的压缩方法。

现在,要真正解决问题,您有两个选择:

  • On(在global.asax或自定义处理程序中) Application_PreSendRequestHeaders chek以查看内容是否已删除并且标题已丢失; 您可以缩小内容或添加标题。
  • 出现错误时,解压缩内容或添加正确的标题。
  • 希望有所帮助。

    链接地址: http://www.djcxy.com/p/46707.html

    上一篇: ASP.NET MVC2 CrAzY Characters in View Output

    下一篇: Form submitted twice in Chrome/Safari