2010-04-15 51 views
0

我有一台运行Windows Web Server 2008 R2的服务器。机器级别的Web.config具有如下条目:ASP.NET,机器级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。如果我把一个简单的aspx文件输出为ConfigurationManager.AppSettings["Environment"]的值,它将显示值Preview

我不清楚它的工作原理,但确实如此。我几周前就设置好了,现在试图复制这个 - 我在D:\Sites\Preview\目录中放置了第二个站点,期望它会自动选择合适的appSettings条目,但由于某些原因它没有 - 相同的aspx页面不显示任何内容。

此外,当我进入IIS管理器并打开配置编辑器时,那里没有设置,而有第一个站点列出的设置。

任何想法,我可能会失踪?位置元素是否打算像这样工作,或者我是否在第一个站点找到了一些神奇的侥幸?


UPDATE:

我已经配置了网站的实际名称是:

  • Preview.WishinatorD:\Sites\Preview\DanDoes.Wishinator.Site(这是工作的一个)
  • Preview.ShowRoom in D:\Sites\Preview\DanDoes.ShowRoom(does not work)
  • 测试D:\Sites\Preview\Test(不工作)以上

回答

0

位置标记应与站点名称在IIS中,使其正确匹配,所以我的猜测是,在\预览\的WebSite1您的网站被评为在IIS中“预览”。

因此,总结来说,匹配不是由文件夹名称作出的,而是由IIS中配置的“站点名称”所作出的。

+0

不 - 没有任何网站名称被命名为“预览”,尽管它们都以“预览”开头。包含网站本身的文件夹根本不包含“预览”工作。 – 2010-04-15 14:35:27