2012-07-26 100 views
1

如何讀取web.config中的個人部分?web.config c#.net web應用程序

<MyPersonalSection> 
    <add name="toto" enable="true" URL="http://localhost:43242" /> 
    <add name="titi" enable="false" URL="http://localhost:98762" /> 
<MyPersonalSection/> 

我想通過名稱值獲取啓用值和/或URL值。

我也有這樣的錯誤:無法識別的配置節MyPersonalSection

我一直在努力

無功配置= ConfigurationManager.GetSection( 「MyPersonalSection」);

+1

[有什麼您嘗試過?](http://msdn.microsoft.com/en-us/library/2tw134k3.aspx) – CodeCaster 2012-07-26 12:37:24

+0

2012-07-26 14:25:45

回答

0

你並不需要編寫自定義配置處理程序來獲取你想要的。如果您只需要鍵值條目,則可以使用內置的配置處理程序。但是,您必須使用key而不是namevalue而不是URL。例如:

<configuration> 
<configSections> 
    <section name="MyPersonalSection" type="System.Configuration.NameValueSectionHandler" /> 
</configSections> 
<MyPersonalSection> 
    <add key="toto" value="http://localhost:43242" /> 
    <add key="titi" value="http://localhost:98762" /> 
</MyPersonalSection> 
</configuration> 

並且你可以通過代碼訪問它們:

var myValues = ConfigurationSettings.GetConfig("MyPersonalSection") as NameValueCollection; 
var url = myValues["toto"]; 

我建議命名你的鑰匙的方式,清楚的價值應該是什麼,像「totoUrl」和「 titiUrl」。

如果你想比字符串值對其他的東西,你必須編寫自己的自定義處理程序。

+0

謝謝你的幫助。我已經嘗試過,但在我的情況下,它不工作。我忘了說我有3個值,我編輯了我的第一條消息。 – Vinhent 2012-07-26 13:18:08

+0

然後,你需要寫你自己的處理程序,請參閱laszlokiss88的答案作爲參考。 – 2012-07-26 13:19:10

+0

所以我必須閱讀它作爲一個XML文檔? – Vinhent 2012-07-26 13:49:54

0

您可以在web.config中與關鍵,你將需要添加appSettings部分。例如:

<configuration> 
    <appSettings> 
     <add key="FirstUrl" value="http://localhost:43242"/> 
     <add key="SecondUrl" value="http://localhost:98762" /> 
    </appSettings> 
... 
</configuration> 

所以,既然aspx.cs文件,你可以聲明指令

using System.Configuration; 

後來,你可以通過這種方式獲取FirstUrl值:

var myUrl = ConfigurationManager.AppSettings["FirstUrl"]; 
相關問題