c# - HttpWebRequest - 操作超时

标签 c# .net console httpwebrequest timeout

我正在尝试使用 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 之外的同一台机器上运行它?

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

IIS Express 需要特殊的工作 - IIS Express enable external request

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

关于c# - HttpWebRequest - 操作超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12663362/

相关文章:

c# - foreach 语句不能对类型为 'object' 的变量进行操作

c# - 非零索引数组

c# - 扩展方法对子类不起作用?

c# - Lambda 表达式定义(学究)?

c++ - Eclipse (c++) 不运行程序

c# - 为什么 _AppDomain 的前缀是下划线?说真的,这让我很烦恼,它总是在我的领域 intellisense

c# - 检测图像非方形部分的鼠标悬停

java - Java 中的 Lombok 项目是如何工作的,在 .net 中是否可以使用属性?

c++ - 如何在C/C++中输出unicode字符

c# - 带有超链接的 .net 控制台应用程序?