正如问题所说,使用asp mvc是为每个请求重置RouteCollection对象...我认为它是在应用程序级别上设置的,而不是每个请求。
==编辑==
为我提出这个问题提供更多背景信息。
我目前有一个Web应用程序,它有2个默认路由,并使用MEF从插件动态加载其他路由,现在我想知道为什么我的路由没有出现在路由表调试器中,并且当调试每个请求时调用使用当前路由表的插件,但它只有默认路由。
因此每个出现的请求都要向插件发送一个只有2条默认路由的新路由表,然后再添加5个路由,将总数增加到7,然后再次刷新它又降到了2。
所以我有点疑惑为什么它似乎一直在重置路线。
答案 0 :(得分:1)
路由注册通常在Application_Start
中完成,只运行一次。他们可以用RouteTable.Routes.Clear()
之类的东西清除,但是通常不会重置它们。
也就是说,我对MEF一无所知,因此通过它注册路由可能与模板创建的MVC站点中Global.asax中通常的方式不同。