我正在向 RouteTable 动态添加路由,但更新不会传播到其他进程:
using (RouteTable.Routes.GetWriteLock())
{
RouteTable.Routes.MapPageRoute(
String.Format("_{0}", routeName),
routeName,
"~/Template.aspx",
true,
new RouteValueDictionary {{"page", routeName}});
}
这正确地创建了正确的路由,因为我有时可以访问它,但是如果切换到新进程或者稍后尝试,我将无法访问该页面。如果我然后重新启动应用程序池,它工作正常。此外,如果我等待足够长的时间,几个小时,当进程被回收时,路由就会起作用。
我认为这是在一个进程上创建路线的结果,并且仅在未来的进程回收中。
关于如何推送路线更新的想法?