2010-04-15 30 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