我有一台运行Windows Web Server 2008 R2的服务器。机器级web.config具有以下条目:
<location path="Preview">
<appSettings>
<add key="Environment" value="Preview" />
</appSettings>
</location>
<location path="Staging">
<appSettings>
<add key="Environment" value="Staging" />
</appSettings>
</location>
<location path="Production">
<appSettings>
<add key="Environment" value="Production" />
</appSettings>
</location>
我有一个我在D:\Sites\Preview\
方向设置的网站,因此完整路径为D:\Sites\Preview\WebSite1
。如果我输入一个只输出ConfigurationManager.AppSettings["Environment"]
值的简单aspx文件,它会显示值Preview
。
我不清楚它究竟是如何工作的,但确实如此。几周前我已经设置了这个,刚刚尝试复制这个 - 我在D:\Sites\Preview\
目录中放了第二个站点,期望它会自动选择相应的appSettings条目,但由于某种原因它没有' - 相同的aspx页面没有显示任何内容。
此外,当我进入IIS管理器并打开配置编辑器时,其中没有设置,而是为第一个站点列出了设置。
关于我可能遗失的任何想法?位置元素是打算像这样工作,还是我在第一个网站上找到了一些神奇的侥幸?
更新
我配置的网站的实际名称是:
D:\Sites\Preview\DanDoes.Wishinator.Site
(这是有效的)
{li> D:\Sites\Preview\DanDoes.ShowRoom
中的Preview.ShowRoom (无效)
{li> 在D:\Sites\Preview\Test
中测试(不起作用)
答案 0 :(得分:0)
上面的位置标记应与IIS中的网站名称匹配,以使其正确匹配,因此我的猜测是您的网站\ Preview \ WebSite1在IIS“预览”中命名。
总而言之,匹配不是由文件夹名称进行的,而是由IIS中配置的“站点名称”进行的。