注册到global.asax的路由的替代地方

Rob*_*nik 6 asp.net-mvc integration routing

最常见的做法是在global.asax.cs/vb文件中的Application_Start事件中注册路由.但是您需要访问此文件才能访问此文件.精细.

我要么没有,要么不想要.我正在尝试将Asp.net MVC应用程序集成到Sharepoint 2010站点中,并且不想创建我的自定义全局应用程序类,它也会为我注册路由并更改Sharepoint的Global.asax文件并在其中添加不同的类定义它.我的申请不会被接受,因为我会向Sharepoint做不受支持的事情.

我想知道是否有可能在其他地方注册路线?有两种选择首先出现在我的脑海中:

  1. 编写HttpModule并滥用应用程序启动事件.这样我就会注入应用程序启动事件代码,而不会使用我无法访问的global.asax进行修改.我可以在web.config中添加另一个HttpModule.

    注意:模块中无法访问应用程序级事件.游民.他们只能访问请求级别的事件.

    重要的是 ...... ......我想.如果您检查已接受的答案,则实际上可以处理应用程序级别的启动事件.间接可靠地是可能的.

  2. 写一个HttpModule并滥用其他一些事件,比如请求启动.当然,我还必须保留一些数据,我的路线已经注册,注册只会在第一轮进行.

是否有更好的方式/地点注册路线?

Rob*_*nik 1

可以在 HttpModule 中捕获应用程序启动事件

如果您检查我的其他问题,您会发现这是很容易实现的。我后来做到了,我可以向你保证它有效。

我还在博客上介绍过此功能......两次: