2011-04-19 64 views
0

我有一個子網站放置在我的默認網站中。在子網站中,我想將變量存儲在它的web.config中。從子網站讀取AppSettings web.config

但是,每當我嘗試檢索值時,它們都不存在於ConfigurationManager.AppSettings中。

我已經把網站作爲一個網站的應用程序,並創造了它在IIS中,沒有成功的虛擬目錄...

沒有人有ANE想法?

謝謝!

(順便說一句,我使用.NET 3.5和IIS管理器6)

回答

0

只是FYI你子網站被稱爲虛擬Diretories

web.config所有你需要做的就是添加此到文件:

<configuration> 
    <appSettings> 
    <add key="myVar1" value="myValue1" /> 
    <add key="myVar2" value="myValue2" /> 
    </appSettings> 
</configuration> 

<appSettings>是一個簡單的NameValueCollection,你可以在你的代碼itenerate,如:

NameValueCollection appSettings = ConfigurationManager.AppSettings; 

for (int i = 0; i < appSettings.Count; i++) 
{ 
    Console.WriteLine("#{0} Key: {1} Value: {2}", 
    i, appSettings.GetKey(i), appSettings[i]); 
} 

這是你在做什麼?

+0

是的,我知道如何使用web.configs和AppSettings的......問題是,由於某種原因,ASP.NET不會從我的子網站 – Nathan 2011-04-19 07:37:01

+0

啊拿起web.config文件,那麼你需要轉換的是'子網站進入一個**虛擬目錄**,因爲它接縫,你擁有的只是默認網站內的一個文件夾。右鍵點擊默認網站添加選擇添加虛擬目錄,然後選擇你的網站所在的文件夾。所以它可以作爲一個獨立的站點 – balexandre 2011-04-19 07:39:16

+0

對不起,我沒有更好的解釋,我創建了虛擬目錄的子網站(我應該真的習慣於術語:-)),但問題實際上是URL重寫。不管怎麼說,還是要謝謝你! – Nathan 2011-04-19 07:41:05

0

沒關係,

我已經固定我自己的問題。

我正在使用URL重寫,這導致服務器對我的項目的實際位置有點困惑。