在C#中,使用WebClient類時,可以通過設置HttpClientHandler的Timeout屬性來為WebClient操作設置超時時間。以下是一個示例:
using System;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 創建一個HttpClientHandler實例
var handler = new HttpClientHandler();
// 設置連接超時時間(單位:毫秒)
handler.ConnectTimeout = 5000;
// 設置讀取超時時間(單位:毫秒)
handler.ReadTimeout = 5000;
// 使用自定義的HttpClientHandler創建HttpClient實例
using (var httpClient = new HttpClient(handler))
{
try
{
// 發起GET請求
var response = await httpClient.GetAsync("https://www.example.com");
// 讀取響應內容
var content = await response.Content.ReadAsStringAsync();
// 輸出響應內容
Console.WriteLine(content);
}
catch (HttpRequestException e)
{
// 處理請求異常
Console.WriteLine("Request error: " + e.Message);
}
}
}
}
在這個示例中,我們創建了一個HttpClientHandler實例,并分別設置了連接超時時間和讀取超時時間。然后,我們使用這個handler創建了一個HttpClient實例,并發起了一個GET請求。如果請求在指定的超時時間內未完成,將會拋出HttpRequestException異常。