我使用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
我的问题变成了,什么可能导致这种行为? IIS中是否存在导致此问题的配置属性?
提前感谢您的时间!
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)