我希望将我的路由存储在数据库中,并在Global.asax.cs的Application_Start中注册它们。一切都很好,但是如果DB中有任何更改,我必须重置应用程序,才能让应用程序获取我的更改。
如果我可以在不重新启动应用程序的情况下重置路由,则问题将得到解决。 各位geeks,我该如何实现呢?自定义httpmodule?还是...
如果我可以在不重新启动应用程序的情况下重置路由,则问题将得到解决。 各位geeks,我该如何实现呢?自定义httpmodule?还是...
public static void UpdateRouteRegistration() {
RouteCollection routes = RouteTable.Routes;
using (routes.GetWriteLock()) {
routes.Clear();
// repopulate route table here
}
}
然后从Application_Start中调用此方法,以及您需要初始化路由表的任何其他时间。注意:这是从记忆中复制的,可能会略有错误,但您可以理解。
这是一个愚蠢的回答,没有应用程序重启就不能添加路由,并且在没有重启的情况下调用UpdateRouteRegistration()会清除路由,因此每个请求都会抛出错误。