使用ASP.NET MVC,当路由匹配时,框架将确定Controller类型,然后使用ControllerActivator
类创建它的新实例,然后执行Action方法并最终返回它&#39 ; s结果给请求调用者。
出于好奇,如果我想在路线和控制器之间进行干预,该怎么办?让我们说控制器不适合我的需求。让我们说我只需要在类中执行一个随机方法并返回它的结果。
那我该怎么办?我必须覆盖什么?你能提供路径吗?示例代码也将受到赞赏。
答案 0 :(得分:0)
创建自己的控制器工厂,实现IController工厂。像下面的东西。
public class MyControllerFactory:IControllerFactory
实施IControllerFactory接口
在Global.asax Application_Start事件中注册新的控制器工厂。
ControllerBuilder.Current.SetControllerFactory(typeof运算(MyControllerFactory));
您可以检查DefaultControllerFactory的代码作为实现自己工厂的参考。