我想创建一个ASP.NET Core WebApi服务,其中每个操作都支持CancellationToken,而无需使用参数明确实现。
我不想对每个动作都这样做:
[HttpGet]
public async Task<IEnumerable<string>> Get(CancellationToken token = default)
{
return await DoStuffAsync(token);
}
我希望能够做到这一点:
[HttpGet]
public async Task<IEnumerable<string>> Get()
{
return await DoStuffAsync(_contextManager.Token);
}
_contextManager
从操作中提取CancellationToken。
使用自定义IActionFilter
或其他方式是否可以实现?
答案 0 :(得分:3)
传递给动作的org.springframework.web.multipart.MultipartException
使用CancellationTokenModelBinder
绑定,{{3}}使用CancellationToken
作为值。您可以直接自己使用,就像这样:
HttpContext.RequestAborted