在C#中,可以使用async
和await
關鍵字來實現異步請求。這里有一個簡單的示例,展示了如何使用HttpClient進行異步GET請求:
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace AsyncRequestExample
{
class Program
{
static async Task Main(string[] args)
{
await MakeAsyncRequest();
}
static async Task MakeAsyncRequest()
{
using (HttpClient httpClient = new HttpClient())
{
string url = "https://api.example.com/data";
HttpResponseMessage response = await httpClient.GetAsync(url);
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine("Response: " + responseBody);
}
else
{
Console.WriteLine("Error: " + response.StatusCode);
}
}
}
}
}
在這個示例中,我們首先創建了一個HttpClient
實例。然后,我們使用GetAsync
方法發起異步GET請求。注意,GetAsync
方法返回一個Task<HttpResponseMessage>
對象,我們可以使用await
關鍵字等待它完成。
當響應到達時,我們檢查它是否成功。如果成功,我們使用ReadAsStringAsync
方法讀取響應內容,并同樣使用await
關鍵字等待它完成。最后,我們將響應內容輸出到控制臺。
通過使用async
和await
關鍵字,我們可以輕松地實現異步請求,而無需顯式處理任務或回調。這使得代碼更加簡潔和易于理解。