我正在重写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()
值/状态才能在if()语句中使用它?
答案 0 :(得分:3)
您可以与Response.StatusCode
进行比较:
if(context.HttpContext.Response.StatusCode == (int)System.Net.HttpStatusCode.Unauthorized)
{
//Rest of code goes here
}