C# 是否有方法为所有操作的CancellationToken创建筛选器?
我想创建一个ASP.NET核心WebApi服务,其中每个操作都支持CancellationToken,而无需使用参数显式实现它 我不想对每一个动作都这样做:C# 是否有方法为所有操作的CancellationToken创建筛选器?,c#,asp.net-core,asp.net-core-webapi,C#,Asp.net Core,Asp.net Core Webapi,我想创建一个ASP.NET核心WebApi服务,其中每个操作都支持CancellationToken,而无需使用参数显式实现它 我不想对每一个动作都这样做: [HttpGet] 公共异步任务获取(CancellationToken=默认值) { 返回等待DoStuffAsync(令牌); } 我希望能够做到这一点: [HttpGet] 公共异步任务Get() { 返回wait wait DoStuffAsync(_contextManager.Token); } 其中\u contextMa
[HttpGet]
公共异步任务获取(CancellationToken=默认值)
{
返回等待DoStuffAsync(令牌);
}
我希望能够做到这一点:
[HttpGet]
公共异步任务Get()
{
返回wait wait DoStuffAsync(_contextManager.Token);
}
其中\u contextManager
从操作中提取CancellationToken。
通过自定义的
IActionFilter
或其他方式可以实现这一点吗?传递到操作中的CancellationToken
是使用绑定的,它使用HttpContext.RequestAborted
作为值。您可以自己直接使用,如下所示:
[HttpGet]
public async Task<IEnumerable<string>> Get()
{
return await DoStuffAsync(HttpContext.RequestAborted);
}
[HttpGet]
公共异步任务Get()
{
返回wait wait DoStuffAsync(HttpContext.RequestAborted);
}