假设我有一个Asp.net WebForms应用程序:
HttpModule
而非global.asax
以下是一些问题:
UrlRoutingModule
配置为仅在针对特定子文件夹发出请求但未在应用程序的其他部分中配置时运行?答案 0 :(得分:4)
事实上,这是可能的,因为它们将在同一个应用程序的上下文中运行,这应该不是问题。您可能需要做的就是为自己注册一个新的ViewEngine,它指向您的视图的/ MvcFolder / Views。应用程序的根目录仍然是〜/因此您可能需要确保您的路由考虑到这一点,例如:通过将“MvcFolder / {controller} / {action}”等内容作为路由规则。
MVC和WebForms应用程序可以并行运行,没有任何问题。 UrlRoutingModule将在请求到达WebForms HttpHandler之前匹配任何规则,因此要小心路由任何规则,例如'DoSomething.aspx',因为这将被MVC截获。
如果您选择不在基本web.config中注册UrlRoutingModule,则可以在/MvcFolder/web.config文件中注册它。这将停止在/ MvcFolder之外匹配的任何路由。
为什么要在HttpModule中注册规则?这些将针对每个请求运行,因此您确定不会在每个请求中不必要地注册规则吗?