从IIS获取ERR_CONNECTION_RESET而日志中没有任何信息

从IIS获取ERR_CONNECTION_RESET而日志中没有任何信息

问题描述:

当我的ASP.NET服务器尝试回复错误时,我在Chrome中获取ERR_CONNECTION_RESET从IIS获取ERR_CONNECTION_RESET而日志中没有任何信息

通常我可以通过查看日志文件找到有关服务器错误的信息,但是没有任何内容。

在响应中运行调试器似乎显示一切正常,除了最后Chrome浏览器告诉我连接已重置。

这里是处理异常处理的代码:在控制台

try 
    { 
     ... 
    } 
    catch (ArgumentException e) 
    { 
     Response.StatusCode = 400; 
     Response.StatusDescription = e.Message; 
     return new ContentResult {Content = "" }; 
    } 

Chrome会显示我net::ERR_CONNECTION_RESET

使用招,我得到错误信息[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.

如果我Enable Failed Request Tracing在IIS,并打开生成的XML文件

GENERAL_FLUSH_RESPONSE_END 


    BytesSent 
    0 

    ErrorCode 
    The parameter is incorrect. 
    (0x80070057) 

我花了几个小时试图调试这个没有多少运气。

原来这是通过这条线引起的:

Response.StatusDescription = e.Message; 

当e.Message具有换行(\r\n)序列内。

两个选项我不得不来修复这个错误是:

更换符合:

Response.StatusDescription = e.Message.Replace("\r\n"," "); 

2.与更换catch块

catch (ArgumentException e) 
    { 
     Response.StatusCode = 400; 
     return new ContentResult {Content = e.Message }; 
    } 
+1

跑进这个相同的问题。非常感谢。在这个问题上,我在墙上打了2天。 –

我在使用本地主机上的一些虚拟域并分配之后遇到了此问题g SSL证书。选择当前域的IIS开发证书,错误消失。

+0

出于某种原因,我也得到了同样的错误,无法弄清楚是什么问题。手动删除https绑定并重新创建之后,所有事情再次开始工作...... –