IIS 8.5两个网站,一个在另一个的子文件夹中

时间:2016-06-16 08:32:46

标签: asp.net-mvc iis-8.5

情况

  • 我有两个网站,我们称之为MAIN和SVC(SOAP服务)。
  • 两者都是用ASP.NET MVC编写的。
  • 它们托管在(例如)https://prog.example.com

我想要什么

我的问题

如果MAIN可以https://prog.example.com/main访问,我可以让它工作,这样两个网址都是不同的。当SVC是MAIN的子URL(看我想要的)时,它不再可以访问。我的服务代码失败了,因为它再也找不到一些类了。

现状

有两个子应用程序(main,svc)的网站可以使用,但MAIN有子文件夹/ main。当我将站点直接指向MAIN文件夹(没有子应用程序)时,可以根据需要访问MAIN,但SVC会抛出我的问题中提到的异常。

如果没有像/ main这样的子文件夹可以直接访问主网站,我如何配置IIS,我的服务仍然有效?

我有把MAIN保留在/ main中的想法,但是将基本网址重定向到/ main。这导致了一个/ main / main / main / main /...

的循环

不可能使用例如https://prog.example.comhttps://service.example.com(以便绑定可能因子域而异)。

1 个答案:

答案 0 :(得分:0)

完全可能。您只需将SVC添加为IIS中MAIN站点下的虚拟应用程序。

唯一要记住的是Web.config文件是继承的,因此MAIN下的任何应用程序都将继承MAIN的Web.config,以及它自己的。这通常会导致冲突。您需要解决所述冲突或在MAIN的Web.config中导致问题的任何部分禁用继承。例如:

<connectionStrings inheritInChildApplications="false">
    ...
</connectionStrings>

不幸的是,没有办法简单地禁用整个Web.config的继承,所以你必须逐个节点地执行此操作。