如何控制路线匹配后返回的内容?

时间:2015-01-16 01:16:18

标签: asp.net .net asp.net-mvc routing asp.net-mvc-routing

使用ASP.NET MVC,当路由匹配时,框架将确定Controller类型,然后使用ControllerActivator类创建它的新实例,然后执行Action方法并最终返回它&#39 ; s结果给请求调用者。

出于好奇,如果我想在路线和控制器之间进行干预,该怎么办?让我们说控制器不适合我的需求。让我们说我只需要在类中执行一个随机方法并返回它的结果。

那我该怎么办?我必须覆盖什么?你能提供路径吗?示例代码也将受到赞赏。

1 个答案:

答案 0 :(得分:0)

  1. 创建自己的控制器工厂,实现IController工厂。像下面的东西。

    public class MyControllerFactory:IControllerFactory

  2. 实施IControllerFactory接口

  3. 在Global.asax Application_Start事件中注册新的控制器工厂。

    ControllerBuilder.Current.SetControllerFactory(typeof运算(MyControllerFactory));

  4. 您可以检查DefaultControllerFactory的代码作为实现自己工厂的参考。