我想在DB中对我的路径进行stroe并在Global.asax.cs的Application_Start中注册它们。一切都很好,但数据库中的任何变化,我必须重置应用程序,以让应用程序接收我的更改。
如果我可以在不重新启动应用程序的情况下重置路由,则问题将得到解决。 我怎么能让它成为极客呢?自定义httpmodule?或...
答案 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()将清除路由,因此您最终会在每个请求上抛出错误。