一些规格:
我想要托管三个MVC3应用程序:
我希望网址分别为:
所以在IIS中,我有默认网站,它指向ProjectA的文件夹。然后我添加了两个应用程序,一个指向ProjectB,一个指向ProjectC,以及它们在硬盘上的相应文件夹。我将网站存储在C:\ sites中。每个项目在C:\ sites中都有一个文件夹,其中包含应用程序的文件。如您所见,这些站点在服务器上根本没有嵌套。
当我加载http://domain/ProjectB时,它正在尝试从ProjectA web.config加载配置值。显然这不是我想要的,我在服务器配置上并不是那么棒。我通过将大部分ProjectA web.config包装在一个位置标记中来实现它:
<location path="." inheritInChildApplications="false" >
<!-- Lots of web.config stuff for ProjectA -->
</location>
我真的不喜欢这个,感觉不对。对我来说,似乎IIS中我的站点中的嵌套应用程序甚至不知道父站点。我究竟做错了什么?我敢肯定它真的很小。我本可以将ProjectA作为一个应用程序,但我不想在其上添加别名,因为我希望http://domain/为用户提供它。
同样,我对服务器的知识并不了解,这对我来说并不好玩,所以我为什么要问你们呢!
谢谢!
答案 0 :(得分:3)
这就是它的工作原理。默认情况下,asp.net应用程序继承其父Web.config,您需要覆盖较低web.config中的这些值,或者将其包装在inheritInChildApplications =“false”属性中,如上所述。
一种可能的选择是,如果您可以在网站的根目录中创建主页而不是asp.net应用程序。如果你做不到,你就会坚持这样做。
答案 1 :(得分:0)