带有取消令牌的自定义 ASP.NET 核心中间件
Custom ASP.NET Core Middleware with cancellation Token
我有一个自定义 ASP.NET 核心中间件,我想检索请求的取消令牌。
我试过像这样将它添加到调用的签名中:
public async Task Invoke(HttpContext context,CancellationToken token)
但是我一加,就没有再调用了
我做错了什么?
我认为这个想法是不能从中间件内部取消中间件的调用,如果你调用一些接受取消令牌的异步任务,那么你可以创建一个并将它传递给你正在调用的从那里。
一个常见的场景是在请求中止时取消任务,因此您可以像这样创建令牌:
CancellationToken CancellationToken => context?.RequestAborted ?? CancellationToken.None;
然后调用一些异步服务,如获取数据或查询数据库,如果请求被中止,则取消请求应该发生
我有一个自定义 ASP.NET 核心中间件,我想检索请求的取消令牌。
我试过像这样将它添加到调用的签名中:
public async Task Invoke(HttpContext context,CancellationToken token)
但是我一加,就没有再调用了
我做错了什么?
我认为这个想法是不能从中间件内部取消中间件的调用,如果你调用一些接受取消令牌的异步任务,那么你可以创建一个并将它传递给你正在调用的从那里。
一个常见的场景是在请求中止时取消任务,因此您可以像这样创建令牌:
CancellationToken CancellationToken => context?.RequestAborted ?? CancellationToken.None;
然后调用一些异步服务,如获取数据或查询数据库,如果请求被中止,则取消请求应该发生