微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 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外部的同一台机器上运行它?

网站是由cassini,iis express,iis 6,iis 7等托管吗?其中一些允许远程连接的特殊设置,而有些可能根本不允许远程连接.

IIS Express需要特殊工作 – IIS Express enable external request

根据http://www.voidcn.com/article/p-gzxztwmq-bua.html,卡西尼根本无法做到这一点

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐