摘要:
在Mvc源码的ControllerActionInvoker的InvokeAction方法里面有一个FindAction方法,FindAction方法在ControllerDescriptor里面定义为虚方法,而ReflectedControllerDescriptor是继承自ControllerDescriptor。其FindAction方法如下:View Code 1 public override ActionDescriptor FindAction(ControllerContext controllerContext, string actionName) { 2 if (con. 阅读全文
摘要:
在Mvc中有ExceptionFilter,当对controller或者action定义ExceptionFilter后,在执行方法抛出异常时,能在ExceptionFilter里面进行逻辑处理,当设置Exception-Handled为true后,异常将不会向上继续传递。但是有一种比较意外的情况,当在Filter里面实现重定向时,会抛出一个ThreadAbortException,那抛出的这个异常是不是也会被ExceptionFilter捕获进行处理,设置ExceptionHandled为true后,从而不能实现正确的跳转。如果通过测试可以发现在Filter里面实现重定向还是可以跳转成功的. 阅读全文