如何更改.NET WebClient對象的超時我試圖將客戶端的數(shù)據(jù)下載到我的本地機器(以編程方式),并且他們的網(wǎng)絡服務器非常非常慢,導致我的WebClient對象超時。這是我的代碼:WebClient webClient = new WebClient();webClient.Encoding = Encoding.UTF8;webClient.DownloadFile(downloadUrl, downloadFile);有沒有辦法在這個對象上設置無限超時?或者,如果沒有,任何人都可以用另一種方式幫助我做一個例子嗎?該URL在瀏覽器中正常工作 - 只需3分鐘即可顯示。
3 回答

海綿寶寶撒
TA貢獻1809條經(jīng)驗 獲得超8個贊
您可以延長超時:繼承原始WebClient類并覆蓋webrequest getter以設置自己的超時,如下例所示。
在我的案例中,MyWebClient是一個私有類:
private class MyWebClient : WebClient{ protected override WebRequest GetWebRequest(Uri uri) { WebRequest w = base.GetWebRequest(uri); w.Timeout = 20 * 60 * 1000; return w; }}

萬千封印
TA貢獻1891條經(jīng)驗 獲得超3個贊
您需要使用HttpWebRequest
而不是WebClient
在WebClient
不擴展超時的情況下設置超時(即使它使用了HttpWebRequest
)。使用HttpWebRequest
替代將允許您設置超時。
- 3 回答
- 0 關注
- 1334 瀏覽
添加回答
舉報
0/150
提交
取消