Asp.net core 带有取消令牌的自定义AspCore中间件
当我有一个自定义asp核心中间件时,我想检索请求的取消令牌 我试图将其添加到调用的签名中,如下所示:Asp.net core 带有取消令牌的自定义AspCore中间件,asp.net-core,asp.net-core-mvc,asp.net-core-1.0,asp.net-core-middleware,Asp.net Core,Asp.net Core Mvc,Asp.net Core 1.0,Asp.net Core Middleware,当我有一个自定义asp核心中间件时,我想检索请求的取消令牌 我试图将其添加到调用的签名中,如下所示: public async Task Invoke(HttpContext context,CancellationToken token) CancellationToken CancellationToken => context?.RequestAborted ?? CancellationToken.None; 但正如我所说,它不再被称为“儿子” 我做错了什么?我认为我们的想法
public async Task Invoke(HttpContext context,CancellationToken token)
CancellationToken CancellationToken => context?.RequestAborted ?? CancellationToken.None;
但正如我所说,它不再被称为“儿子”
我做错了什么?我认为我们的想法是不能从中间件内部取消对中间件的调用。如果您调用某个接受取消令牌的异步任务,那么您可以创建一个并将其传递给从中间件内部调用的任务 一种常见的情况是,如果请求被中止,则取消任务,因此您可以创建如下令牌:
public async Task Invoke(HttpContext context,CancellationToken token)
CancellationToken CancellationToken => context?.RequestAborted ?? CancellationToken.None;
然后调用一些异步服务,如获取数据或查询数据库,如果请求被中止,则应该发生取消请求