gpt4 book ai didi

asp.net-web-api - 异步操作过滤器 : Async & AuthorizeAttribute in ASP. NET WEB API

转载 作者:行者123 更新时间:2023-12-04 00:52:58 25 4
gpt4 key购买 nike

我在一个类中有我的身份验证逻辑,它派生自 System.Web.Http.AuthorizeAttribute (重写的 OnAuthorization 方法)。我从该方法调用数据库,我希望该调用是异步的(幸运的是,新的 ADO.NET 异步 API 允许这样做)。
然后我将此属性应用于 Controller ,以使对其的所有调用都通过身份验证过滤器。到现在为止还挺好。
但是这样做我遇到了以下问题。框架(ASP.NET Web API)似乎不知道我的意图是什么:)看起来它在我的过滤器的 OnAuthorizaion 方法完成(从异步调用返回)之前继续执行 Controller 的操作。因此框架中的异常a la“请求处理在所有未完成的异步操作完成之前完成..”
有没有开箱即用的方法来处理这个问题?
附言我的直觉说我正在创建自定义操作过滤器。然后我需要重写 ExecuteActionFilterAsync 并在那里进行身份验证,自己处理所有与任务相关的东西,而无需框架方面的帮助。)

最佳答案

使用IAsyncAuthorizationFilter并异步实现接口(interface)。
public async Task OnAuthorizationAsync(AuthorizationFilterContext actionContext)

关于asp.net-web-api - 异步操作过滤器 : Async & AuthorizeAttribute in ASP. NET WEB API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12979028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com