在单个虚拟目录中部署多个ASP.NET MVC应用程序

时间:2014-10-13 14:32:15

标签: c# asp.net-mvc asp.net-mvc-4

通常,可以通过将应用程序文件夹放在虚拟目录中来部署ASP.NET MVC应用程序。

应用程序文件夹包含

  1. bin文件夹
  2. 脚本文件夹(如果需要)
  3. 观看文件夹
  4. Global.asax文件
  5. web.config文件
  6. 但是,我想将bin文件夹放在应用程序文件夹之外,以便我可以在单个应用程序文件夹中部署更多应用程序。所有应用程序共享bin文件夹,会话也被共享。

    我想做什么
    ..虚拟目录
    .. \ BIN
    .. \ App1Name \ App1Contents
    .. \ App2Name \ App2Contents
    .. \ App3Name \ App3Contents
    ..web.config

    我已经使用没有Global.asax文件的Web表单实现了这个Web应用程序。但是在MVC应用程序中,我无法共享bin文件夹。

    如何实现?
    我需要放置Global.asax文件的位置?
    所有带bin文件夹的应用程序如何放置在Applications之外?

    提前致谢

2 个答案:

答案 0 :(得分:4)

这是不可能的。您可以使用Web窗体实现此目的,因为每个单独的页面实际上都是它自己的应用程序。但是,MVC的工作方式不同。许多因素,尤其是路由框架,要求Web应用程序被隔离。您无法将多个MVC应用程序部署到同一文档根目录。您可以在第一个中将第二个MVC应用程序部署到虚拟目录,但是请注意,最外层应用程序的web.config也会影响内部应用程序。

答案 1 :(得分:1)

基于您的应用程序已经共享公共二进制文件的事实,您可能希望使用MVC区域来促进应用程序之间的逻辑分离(但将它们全部作为单个应用程序的一部分)。以下链接更详细地描述了这一点:MVC Areas