重置asp.net mvc路由而不重置应用程序

时间:2009-08-17 06:24:53

标签: asp.net-mvc model-view-controller

我想在DB中对我的路径进行stroe并在Global.asax.cs的Application_Start中注册它们。一切都很好,但数据库中的任何变化,我必须重置应用程序,以让应用程序接收我的更改。

如果我可以在不重新启动应用程序的情况下重置路由,则问题将得到解决。 我怎么能让它成为极客呢?自定义httpmodule?或...

2 个答案:

答案 0 :(得分:6)

public static void UpdateRouteRegistration() {
  RouteCollection routes = RouteTable.Routes;
  using (routes.GetWriteLock()) {
    routes.Clear();
    // repopulate route table here
  }
}

然后从Application_Start和您需要初始化路由表的任何其他时间调用此方法。注意:这是来自内存,可能会有点错误,但你明白了。 :)

答案 1 :(得分:-4)

daft answer,如果没有重新启动,就无法添加路由,并且在没有重启的情况下调用UpdateRouteRegistration()将清除路由,因此您最终会在每个请求上抛出错误。