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

本文关键字:信息 任何 日志 RESET 获取 IIS ERR CONNECTION | 更新日期: 2023-09-27 18:07:00

我得到一个ERR_CONNECTION_RESET在Chrome当我的ASP。. NET服务器试图以错误回复。

通常我可以通过查看日志文件找到有关服务器错误的信息,但是那里什么也没有。

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

下面是处理异常处理的代码:

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

Chrome显示我net::ERR_CONNECTION_RESET在控制台

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

如果我在IIS中启用失败请求跟踪,并打开生成的xml文件

    GENERAL_FLUSH_RESPONSE_END 

    BytesSent
    0 
    ErrorCode
    The parameter is incorrect.
     (0x80070057) 

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

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

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

原来这是由这一行引起的:

 Response.StatusDescription = e.Message;

当e.Message里面有一个换行符('r'n)序列时

我有两个选项可以用来修复这个错误:

1。用:

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

2。将catch块替换为

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