C# ASP.NET MVC OnActionExecuted ActionFilter
我正在尝试检查是否由具有以下filterContext.exception的操作引发异常: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)
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时所问的那样。除非你引用的是一个完全不同的场景,在这种情况下,我不知道你在说什么。