首页 > 解决方案 > 如何在 .net core 2.0 ActionExecutingContext 中分配 Http 响应

问题描述

我正在为我的 .net core 2.0 项目创建 ActionFilterAttribute 以过滤所有 api 请求和令牌授权。我的问题是,如果任何用户不接受访问 api,ActionExecutingContext 将返回 Not Acceptable 406 状态。Not Acceptable Result 是否有任何课程。提前致谢。

动作过滤器属性

[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public class AuthorizationRequiredAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
         context.Result = //place your code here, which return NotAcceptable Status
         base.OnActionExecuting(context);
    }

} 

标签: asp.net-core-mvc

解决方案


最终使用 StatusCodeResult

[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)]
public class AuthorizationRequiredAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
         context.Result = new StatusCodeResult((int)HttpStatusCode.NotAcceptable);
         base.OnActionExecuting(context);
    }

}

推荐阅读