[英]HttpWebRequest - The operation has timed out
我正在嘗試通過使用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啟用外部請求
卡西尼根本無法做到這一點 - https://serverfault.com/questions/82899/can-i-access-cassini-from-a-remote-machine
嘗試添加此代碼:
ServicePointManager.DefaultConnectionLimit = 500;
並發連接可能會導致超時錯誤。 在我的情況下,這很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.