[英]Is there a way to create a filter for CancellationToken for all actions?
我想創建一個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
或其他方式是否可以實現?
傳遞給動作的CancellationToken
是使用CancellationTokenModelBinder
綁定的,該對象使用HttpContext.RequestAborted
作為值。 您可以自己直接使用它,如下所示:
[HttpGet]
public async Task<IEnumerable<string>> Get()
{
return await DoStuffAsync(HttpContext.RequestAborted);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.