管理 .NET WebClient 物件中的超時
有效的逾時管理對於執行網路操作的強大 .NET 應用程式至關重要。 正確配置的逾時可以防止由於伺服器緩慢或無回應而導致應用程式掛起。 當與不可靠的網路服務互動時,這一點尤其重要。
此範例解決了使用 WebClient
類別從慢速伺服器下載資料時過早逾時的常見問題。 我們將展示如何延長超時時間。
自訂逾時實作
標準WebClient
不直接支援無限超時。為了自訂超時行為,我們建立一個重寫 GetWebRequest
方法的衍生類別:
<code class="language-csharp">public class ExtendedWebClient : WebClient { protected override WebRequest GetWebRequest(Uri uri) { WebRequest request = base.GetWebRequest(uri); request.Timeout = 20 * 60 * 1000; // Set timeout to 20 minutes return request; } }</code>
利用擴充類別
使用這個ExtendedWebClient
很簡單。實例化它並且像以前一樣使用 DownloadFile
方法:
<code class="language-csharp">ExtendedWebClient client = new ExtendedWebClient(); client.Encoding = Encoding.UTF8; client.DownloadFile(downloadUrl, downloadFile);</code>
這種方法提供了受控的、可調整的超時,而無需訴諸無限期的等待。 這允許優雅地處理緩慢的網路回應,從而增強應用程式的穩定性。
以上是如何自訂 .NET WebClient 物件的逾時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!