通常,可以通过将应用程序文件夹放在虚拟目录中来部署ASP.NET MVC应用程序。
应用程序文件夹包含
但是,我想将bin文件夹放在应用程序文件夹之外,以便我可以在单个应用程序文件夹中部署更多应用程序。所有应用程序共享bin文件夹,会话也被共享。
我想做什么
..虚拟目录
.. \ BIN
.. \ App1Name \ App1Contents
.. \ App2Name \ App2Contents
.. \ App3Name \ App3Contents
..web.config
我已经使用没有Global.asax文件的Web表单实现了这个Web应用程序。但是在MVC应用程序中,我无法共享bin文件夹。
如何实现?
我需要放置Global.asax文件的位置?
所有带bin文件夹的应用程序如何放置在Applications之外?
提前致谢
答案 0 :(得分:4)
这是不可能的。您可以使用Web窗体实现此目的,因为每个单独的页面实际上都是它自己的应用程序。但是,MVC的工作方式不同。许多因素,尤其是路由框架,要求Web应用程序被隔离。您无法将多个MVC应用程序部署到同一文档根目录。您可以在第一个中将第二个MVC应用程序部署到虚拟目录,但是请注意,最外层应用程序的web.config也会影响内部应用程序。
答案 1 :(得分:1)
基于您的应用程序已经共享公共二进制文件的事实,您可能希望使用MVC区域来促进应用程序之间的逻辑分离(但将它们全部作为单个应用程序的一部分)。以下链接更详细地描述了这一点:MVC Areas