在C#中,使用WebClient类进行网络请求时,可以通过设置WebClient.Timeout
属性来设置超时时间。以下是一个简单的示例:
using System;
using System.Net;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 创建一个新的WebClient实例
WebClient webClient = new WebClient();
// 设置超时时间(单位:毫秒)
webClient.Timeout = 5000; // 5秒
try
{
// 发起异步GET请求
string result = await webClient.DownloadStringTaskAsync("https://api.example.com/data");
// 处理结果
Console.WriteLine(result);
}
catch (WebException ex)
{
// 处理超时异常
if (ex.Status == WebExceptionStatus.Timeout)
{
Console.WriteLine("请求超时");
}
else
{
Console.WriteLine("请求发生错误: " + ex.Status);
}
}
}
}
在这个示例中,我们创建了一个WebClient实例,并设置了超时时间为5秒。然后,我们使用DownloadStringTaskAsync
方法发起一个异步GET请求。如果请求在5秒内未完成,将抛出WebException
异常,我们可以通过检查异常的状态来处理超时情况。