IIS 8.5的两个网站,一个在其他

问题描述:

形势

  • 的子目录下,我有两个网站,让我们称他们主要和SVC(SOAP服务)。
  • 这两个都是用ASP.NET MVC编写的。
  • 它们托管在(例如)https://prog.example.com上。

我想要什么

我的问题

我可以得到这个工作,如果主要是https://prog.example.com/main可及,这样这两个URL是不同的。当SVC是来自MAIN的子URL(请参阅我想要的)时,它不再可用。我的代码服务失败,因为它无法再找到一些类。IIS 8.5的两个网站,一个在其他

现状

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

如何在没有像/ main这样的子文件夹的情况下直接访问主网站时配置IIS,使我的服务仍然有效?

我的想法是将main保存在/ main中,但将基本url重定向到/ main。这导致了/ main/main/main/main/...

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

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

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

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

不幸的是,有没有办法简单地禁用继承整个Web.config文件,所以你必须要做到这一点的一个节点到节点的基础。