ASP .NET Core API 提供了CancelToken机制来取消正在进行的请求。可以在API controller方法内部,将CancelToken作为参数传递给请求,然后设置请求的取消标志位,以实现请求取消的目的。以下是代码示例:
[HttpGet]
public async Task>> Get(CancellationToken cancellationToken)
{
// ...
using(var client = new HttpClient())
using(var request = new HttpRequestMessage(HttpMethod.Get, apiUrl))
{
// Pass cancellationToken to HttpClient.SendAsync:
using(var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken))
{
//...
}
}
// ...
}
在上面的示例中,传递了CancellationToken对象给API controller中的Get()方法,并且将这个对象传递给HttpClient的SendAsync()方法。在发送请求时,将取消标志位设置为true,即可取消发送的请求。