【发布时间】:2023-04-08 02:32:02
【问题描述】:
我可以将CancellationToken 注入到 ASP.NET Core 操作方法中,但我更愿意使用操作过滤器来处理它。如何在实现IAsyncActionFilter 时访问取消令牌?我的方法不应该把它作为参数。
【问题讨论】:
-
@madreflection 请看一个例子here。
-
@madreflection 注入/使用 CancellationToken 值并通过调用堆栈提供这些值非常有意义。例如,它们包含所有连接到同一个 CancellationTokenSource 的“内部魔法”;不像整数那么原始,例如。作为一个结构是一个单独的讨论点。 (注入的值将根据请求或根据需要谨慎,通常不是单例:同样,这是关于特定注入方法的单独讨论,与值类型无关。)
-
我认为 "inject" 在这里是一个错误的词。相反,您可以说“我可以传递
CancellationToken进入 ASP.NET Core 操作方法...” -
从您的链接中,您需要在您的
IActionFilter.OnActionExecuting(ActionExecutingContext context)方法中获取context.HttpContext.RequestAborted令牌 -
@vasily.sib 完美,谢谢!真丢脸:)我只是在讨论过程中用谷歌搜索了一个用于共享的代码示例,但实际上并没有阅读它:)您能否在下面发布您的答案以便我接受它?
标签: c# asp.net-core action-filter