HttpWebRequest - 操作已超时



我正在尝试使用HttpWebRequest调用网页,但是我得到"操作已超时错误"。

string sURL = "http://localhost:53667/MyPage.aspx";
WebRequest wrGETURL = WebRequest.Create(sURL);
wrGETURL.Timeout = 5000;
System.Net.ServicePointManager.DefaultConnectionLimit = 5000;
var r = wrGETURL.GetResponse();
r.Close();
wrGETURL.Abort();

如您所见,我添加了 DefaultConnectionLimit 属性,按照其他线程的建议关闭了响应,但这似乎没有做到这一点。我做错了什么?

编辑:

当我使用以下完整示例时: http://support.microsoft.com/kb/307023,从 Visual C# 作为控制台应用运行/调试它时,它不会超时。当我将此程序设置为在Windows任务计划程序上运行时,它确实超时。

对于如此简单的操作,请使用WebClient运行它。

它不那么复杂,并且不太可能是特定于WebRequest问题。 你也试过从Visual Studio之外的同一台机器运行它吗?

该网站是否由卡西尼,iis express,iis 6,iis 7等托管?其中一些有特殊设置允许远程连接,而 iirc 有些可能根本不允许远程连接。

IIS Express

需要特殊工作 - IIS Express 启用外部请求

卡西尼号根本做不到——https://serverfault.com/questions/82899/can-i-access-cassini-from-a-remote-machine

尝试添加此代码:

ServicePointManager.DefaultConnectionLimit = 500;

并发连接可能会导致超时错误。就我而言,这工作正常。

相关内容

  • 没有找到相关文章

最新更新