首页 > 解决方案 > OnAuthorizationAsync 中的 Cancellationtoken

问题描述

我有以下代码:

public class AuthorizeRolesAttribute : TypeFilterAttribute
{
    public AuthorizeRolesAttribute() : base(typeof(AuthorizeRolesFilter))
    {

    }

    public class AuthorizeRolesFilter : IAsyncAuthorizationFilter
    {
        public virtual async Task OnAuthorizationAsync(AuthorizationFilterContext context)
        {

        }
    }
}

我想使用取消令牌,所以我试图像这样覆盖它:

public async override Task OnAuthorizationAsync(AuthorizationFilterContext context, CancellationToken ct)
{
}

但我不断收到此错误:

找不到合适的方法来覆盖

标签: c#asp.net-core.net-core

解决方案


只需CancellationTokenHttpContext获取您的。

public Task OnAuthorizationAsync(AuthorizationFilterContext context)
{
    var cancellationToken = context.HttpContext.RequestAborted;
    ...
}

推荐阅读