tho*_*asb 15 asp.net iis-7 gzip
随机地,在一些项目中,一些页面显示随机符号而不是错误消息.像这个 :
         I?%&/m?{J?J??t??$ @     iG#)* eVe] f @ 흼  {   {  ; N'   ?\fdl  J  ɞ!   ?〜|?"  Ey ')=  y6    h     Ųi  - ez    7ii L   ,  4 ̧i   Ίe  Ͼ|uz    : }  U {           ~ ȗu.-     l> F '     Y l  $k tF       {    [    'U   |6J lR  b6  юG k ^ ,ӏ  ߿ } <〜< ;c R鱕iV  m |      yDl   tRͮ  |N  > Ey  裟 k  !z    Ѳ Y)5  G  A 8$D  Ѥ̦oI  ] P "/ v[    W ~   m`N rvk   Mqz3 WV
它是随机发生的,似乎是由不同的因素造成的.在这里,它是在文件上传.
我们在此页面上使用SharpZipLib,但代码路径不应使用它.
有谁知道为什么会这样,以及如何预防?
编辑:它只发生在Firefox上.IE(8)正确显示错误消息.
编辑2:它似乎是随机发生的,仅在某些页面/网站上.另一个IIS站点上的同一页面运行良好.它似乎只在IIS7上这样做; 我没有关于IIS6的报告,我没有在我的开发机器上遇到它.
编辑3:它看起来只有在页面崩溃时才会发生.
编辑4:好的,所以,它只发生在IIS7上,只有当我收到错误500.我认为可能是IIS错误页面有问题.我怎样才能尝试改变它们?
Firebug给了我那些标题:
响应
 
缓存控制私有
内容类型text/html; charset = utf-8 
服务器Microsoft-IIS/7.0 
X-AspNet-Version 2.0.50727 
X-Powered-By ASP.NET 
Date Mon,04 Apr 2011 10:31:24 GMT 
Content-Length 2284 
请求
 
主机xxxx 
用户代理Mozilla /5.0(Windows; U; Windows NT 6.1; fr; rv:1.9.2.16)Gecko/20110319 Firefox/3.6.16(.NET CLR 3.5.30729; .NET4.0E)
接受text/html,application/xhtml + xml ,application/xml; q = 0.9,/ ; q = 0.8 
Accept-Language fr,fr-fr; q = 0.8,en-us; q = 0.5,en; q = 0.3 
Accept-Encoding gzip,deflate 
Accept-Charset ISO -8859-1,utf-8; q = 0.7,*; q = 0.7 
Keep-Alive 115 
连接保持活动状态
Referer xxxxx 
Cookie xxxxxx
有没有办法让我说"在这个页面上,我根本不接受gzip压缩"?
我没有找到任何真正的解决方案,但我找到了令人满意的解决方法.
请记住,问题只出现在这些条件下:
解决方法很简单:拒绝浏览器中的gzip压缩内容.在Firefox中,如http://forgetmenotes.blogspot.com/2009/05/how-to-disable-gzip-compression-in.html中所示:
在我的网站上,它使用CSS做了一些奇怪的事情(并且StackOverflow之后根本没有任何CSS),但至少它正确地向我显示了错误消息,这使我能够修复错误.
希望它会帮助某人.
任何绊倒这个问题的人的另一个解决方法可能是删除应用程序错误的响应过滤器,这将消除编码并通过未压缩发送它.由于这仅用于错误消息,因此对性能的影响应该最小.
在你的Global.asax中
VB
Sub Application_Error()
    Response.Filter = Nothing
End Sub
C#(我认为这是对的,请参阅下面的博客链接)
protected void Application_Error(object sender, EventArgs e)
{
    Response.Filter = null;
}
所有这些都归功于Rick Strahl的博客文章.
注意:我还在这里添加了一个回答我自己的问题 - IISExpress乱码HTTP 500错误消息
| 归档时间: | 
 | 
| 查看次数: | 6279 次 | 
| 最近记录: |