如何在另一个MVC应用程序中托管MVC应用程序?

时间:2016-08-17 21:54:13

标签: .net asp.net-mvc asp.net-mvc-4 iis-7

我有两个用MVC 4编写的应用程序。例如:

www.website1.com

www.website2.com

我想在website1内托管website2。这意味着我希望将website2导航为:www.website1.com/website2

我做了以下事实:

1)将Website1代码发布到文件夹" Website1"在iis里面。这有它的web.config。

2)将Website2代码发布到文件夹" Website1 / Website2"在iis里面。这有它的web.config。

3)将两个站点都转换为IIS内的应用程序。

4)现在我可以导航到" www.website1.com"但是当我导航到www.website1.com/website2时, 没有加载任何CSS或javascript 我只看到浏览器中的html。

网站2中的_Layout文件有这样一行@ Styles.Render("〜/ Content / bootstrap.css")

但是当我查看IE开发人员工具时,我将路径视为:/Website1/Website2/Content/bootstrap.css

我手动将此/Website1/Website2/Content/bootstrap.css更改为/Website2/Content/bootstrap.css,并且能够加载css。

问题是为什么它指的是网站1?我该如何解决?

2 个答案:

答案 0 :(得分:0)

在IIS中,您可以在Website1中添加一个虚拟目录(名为Website2),并在其中添加Website2的所有内容。

无论如何都有两个Web.config文件无效,你必须将Website2的所有配置移到Website1根目录下的Web.config文件中

答案 1 :(得分:0)

我能够在父网络配置中使用以下内容。

只需将它放在您不想在子应用程序中继承的块中。

 <location path="." inheritInChildApplications="false" >
</location>