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

lds*_*now 5 model-view-controller asp.net-mvc

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

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

Lev*_*evi 6

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

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