Подтвердить что ты не робот

Можно ли использовать async/wait в MVC 4 AuthorizeAttribute?

Единственное переопределение, которое я вижу на MVC AuthorizeAttribute, - это public override void OnAuthorization( AuthorizationContext filterContext ), которое не подходит для использования с async/await, потому что оно не возвращает Task. Есть ли другой способ создать AuthorizeAttribute в MVC, который позволяет использовать async/wait?

4b9b3361

Ответ 1

ASP.NET MVC сегодня не поддерживает асинхронные фильтры. Проголосуйте.

Однако ASP.NET "vNext" , объявленный на TechEd на этой неделе, будет поддерживать асинхронные фильтры для MVC.

Ответ 2

С выпуском ядра asp.net ответ Стивена Клири правильный и идеальный способ пойти, если вы используете последнее ядро ​​asp.net.

Для тех, кто еще не обновился, мне удалось обойти мою проблему, используя async HttpModule, который передает состояние в AuthorizationFilter через HttpContext.Items. Я добавил более подробно о моем решении здесь - http://evandontje.com/2017/08/15/solutions-for-async-await-in-mvc-action-filters/