IIS程序可以接收HTTP请求和响应,但是当它发送HTTP请求时,它无法读取响应

时间:2017-08-01 18:47:46

标签: c# http iis c#-4.0 iis-7.5

我使用IIS 7.5和4.0 .NET Framework。 情况就是这样。

IIS程序可以接收HTTP请求并对其进行响应。这是通过调试确认的。但是,当从IIS程序发送HTTP请求时,它会在尝试读取响应时抛出异常。以下是我使用的代码(非常标准)。

public static string func( string urlStr )
{
    WebClient client = new WebClient();
    string content;
    try
    {
        content = client.DownloadString( urlStr );
    }
    catch( WebException ex )
    {
        /* Handle the exception */
    }

    return content;
}

现在,有趣的是,我写了一个小的c#程序来测试这段代码。小型独立c#程序运行正常。它可以发送HTTP请求并接收响应。两种情况下的网址都相同。

此外,使用任何浏览器,浏览器都可以使用相同的URL获取响应。

URL的端点是另一个将使用JSON字符串响应的程序。 在小型c#程序和浏览器的情况下,它就是这样。 尝试下载字符串时,只有IIS程序会抛出异常。

使用wireshark,我能够确定URL端点正在获取HTTP请求并发送响应。但是,响应不会使其返回到IIS程序。

在所有情况下,端点都在另一台计算机上。

以下是有关抛出异常的一些信息。

引发WebException

  • WebException.Message:无法连接到远程服务器
  • WebException.Status:ConnectFailure
  • WebException.Response :(空)

我的问题变成了,什么可能导致这种行为? IIS中是否存在导致此问题的配置属性?

提前感谢您的时间!

编辑1

Exception Callstack:

at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadString(Uri address)
at System.Net.WebClient.DownloadString(String address)

0 个答案:

没有答案