簡體   English   中英

HttpWebRequest - 操作已超時

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM