Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC OnActionExecuted ActionFilter_C#_Asp.net Mvc 2 - Fatal编程技术网

C# ASP.NET MVC OnActionExecuted ActionFilter

C# ASP.NET MVC OnActionExecuted ActionFilter,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,我正在尝试检查是否由具有以下filterContext.exception的操作引发异常: public class Test : ActionFilterAttribute [...] public override void OnActionExecuted(ActionExecutedContext filterContext) { if (filterContext.Exception != null)

我正在尝试检查是否由具有以下filterContext.exception的操作引发异常:

 public class Test : ActionFilterAttribute
    [...]   
    public override void OnActionExecuted(ActionExecutedContext filterContext)
            {
                if (filterContext.Exception != null)
                {
                     continue;
                }
            }
在控制器中:

        [Test]
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Login(Usuarios usuario)
        {
            try
            {
             throw new Exception();
            }
           catch
           {

           }

         }
filterContext.Exception始终为空。我无法在此处捕获此信息


有什么想法吗?

这是因为异常永远不会逃逸action方法,因为一旦抛出它就会被捕获。我很惊讶您的代码能够编译,因为您没有return语句。无论如何,请尝试以下操作方法:

[Test] 
[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Login(Usuarios usuario) 
{ 
     throw new Exception(); 
} 

这是因为异常永远不会逃逸操作方法,因为一旦抛出它就会被捕获。我很惊讶您的代码能够编译,因为您没有return语句。无论如何,请尝试以下操作方法:

[Test] 
[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Login(Usuarios usuario) 
{ 
     throw new Exception(); 
} 

@基洛夫:是的,正如OP在MVC2中所要求的那样。除非你引用的是一个完全不同的场景,在这种情况下,我不知道你在说什么。@Kirov是的,正如OP在提到MVC2时所问的那样。除非你引用的是一个完全不同的场景,在这种情况下,我不知道你在说什么。