代码之家  ›  专栏  ›  技术社区  ›  Robert Koritnik

在子文件夹中运行MVC的Asp.net WebForms应用程序

  •  4
  • Robert Koritnik  · 技术社区  · 14 年前

    • 根文件夹中很少有*.aspx文件作为WebForms应用程序运行(不涉及路由)
    • 子文件夹ie 模板文件夹 其中包含作为常规web窗体应用程序运行的其他文件和子文件夹
    • 它具有Asp.NETMVC应用程序的常规结构,并将其内容作为一个应用程序运行
    • 路由是使用 HttpModule global.asax
    • 此应用程序的两个部分(或两个应用程序,如果您愿意)都必须在同一个IIS应用程序下运行(因此在有两个应用程序的情况下,只能使用虚拟目录)

    以下是一些问题:

    1. 这种情况有可能吗?
    2. 是否可以配置 UrlRoutingModule
    1 回复  |  直到 14 年前
        1
  •  4
  •   Matthew Abbott    14 年前

    事实上,这是可能的,因为它们将在同一个应用程序的上下文中运行,所以这不应该是一个问题。您可能要做的是为自己注册一个新的ViewEngine,它指向视图的/MvcFolder/Views。应用程序的根目录仍然是~/因此您可能需要确保您的路由考虑到这一点,例如,通过使用类似于“MvcFolder/{controller}/{action}”的内容作为路由规则。

    MVC和WebForms应用程序可以并行运行,没有任何问题。UrlRoutingModule将在请求到达WebForms HttpHandler之前匹配任何规则,因此要小心路由任何规则,例如“DoSomething.aspx”,因为这将被MVC截获。

    为什么要在HttpModule中注册规则?这些将为每个请求运行,因此您确定没有在每个请求中不必要地注册规则吗?