在 OnActionExecuting 的覆盖方法中读取 contex.Result() 的状态

Read status of contex.Result() in override method of OnActionExecuting

我重写了 OnActionExecuting 方法,以便在调用某些控制器的方法之前执行一些检查,我想知道是否有任何方法可以读取 context.Result() 值以检查它是否等于 - 对于示例 - 状态 401 未经授权或类似,以便对不同的状态执行不同的操作,像这样...

public override void OnActionExecuting(ActionExecutingContext context) {
    base.OnActionExecuting(context);
    if (/*context.Result()==401*/)
    {
        //do things
    }
    else
    {
        //do other things
    }
}

有什么方法可以读取 context.Result() value/status 以便在 if() 语句中使用它?

您可以获取并与Response.StatusCode进行比较:

if(context.HttpContext.Response.StatusCode == (int)System.Net.HttpStatusCode.Unauthorized)
{
    //Rest of code goes here
}