我是否可以在我的站点root(一个提供MOST站点内容的简单CMS)中运行ASP.MVC 3应用程序,并使其与其他ASP.Net应用程序共存(2个Web窗体应用程序和1个MVC应用程序)在子文件夹中运行以提供更专业的功能?
示例:
www.mycompany.com
/ // ASP.MVC 3 App goes here to handle 90% of our page content.
/store/ // Older web forms app to handle our online store.
/survey/ // Older web forms app to provide survey forms.
/locations/ // An ASP.MVC 3 app to render a map with site locations.
如果有必要,我不介意将“位置”MVC应用程序与CMS集成,但如果它们可以分开,则可以简化长期维护。根应用程序是否需要了解其他应用程序? (包括其他项目作为子项目进入VS.2010的主要MVC项目?)
至于“商店”和“调查”Web表单应用程序。他们正在运行.Net 3.5,但如果需要,我们可以将它们重新编译为4.0。 “商店”“调查”和“位置”文件夹是否需要是用IIS映射的虚拟文件夹?
希望这个示例足够简化,以确定是否有可能(以及如何)将应用程序与站点根目录中运行的ASP.MVC 3集成在一起。我处于这样一种情况:单独的应用程序必须共享一个域并假装是一个有凝聚力的站点。 (它们将共享相同的HTML模板)
答案 0 :(得分:4)
只需将其他应用程序标记为IIS中的应用程序即可。
答案 1 :(得分:1)
不是直接的 - 你将整个星期都在讨论令人讨厌的IIS战斗。你最终可能会到达那里,但它不会很漂亮。这里有两种可能的方法:
a)将整个事物置于反向代理之后,该代理将流量传递到适当的服务器(或虚拟服务器)。不足之处是你可能需要做一些小小的尝试来说服IIS,你的商店是http://www.example.com/store而不是http://localhost:666/store,但它是可行的。
b)尝试将旧的webforms应用程序合并到您的MVC cms应用程序中。真的取决于很多细节,但可以像设置要忽略的路径一样简单,并在适当的时候调整配置。