我正在编写一个 ASP.NET Core 资源过滤器,我想禁用 OnResourceExecuting 方法中某些控制器/操作的处理。
我在Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext类中找不到任何 api 来获取控制器名称和操作名称。
有人有什么想法吗?谢谢!
包含ResourceExecutingContext一个ActionDescriptor属性 ( docs )。
Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor这是or的基类Microsoft.AspNetCore.Mvc.RazorPages.PageActionDescriptor。
因此,当您将其转换为ControllerActionDescriptor(docs)时,您可以访问ControllerName和ActionName属性。
if(resourceContext.ActionDescriptor is ControllerActionDescriptor controllerDescriptor)
{
var controllerName = controllerDescriptor.ControllerName;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |