方法 : Web.config ファイルからアプリケーション設定を読み取る
更新 : 2007 年 11 月
この例では、Web.config ファイルからキー customsetting1 により識別されるアプリケーション設定を読み取っています。appSettings 要素は、文字列のコレクション NameValueCollection です。コレクション要素の処理は、他の構成要素の処理よりもわずかに複雑になる場合があります。
ルート レベルの Web 構成の構成設定を取得するには、OpenWebConfiguration メソッドに null を渡します。
構成設定を更新するには、構成オブジェクトの Save メソッドまたは SaveAs メソッドを使用します。詳細については、「構成クラスの使用」を参照してください。その他のコード例については、AppSettingsSection クラスとその関連クラスを参照してください。
この例では、構成データを取得する非静的なメソッドを使用します。これにより、任意のアプリケーションから構成データを取得できます。コードが存在するアプリケーションから構成情報を取得する場合は、処理のより高速な静的メソッドを使用します。詳細については、「ASP.NET 構成 API の概要」の「ローカルの構成設定およびリモートの構成設定の操作」を参照してください。
使用例
Dim rootWebConfig1 As System.Configuration.Configuration
rootWebConfig1 = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Nothing)
If (0 < rootWebConfig1.AppSettings.Settings.Count) Then
Dim customSetting As System.Configuration.KeyValueConfigurationElement
customSetting = rootWebConfig1.AppSettings.Settings("customsetting1")
If Not (Nothing = customSetting.Value) Then
Console.WriteLine("customsetting1 application string = {0}", customSetting.Value)
Else
Console.WriteLine("No customsetting1 application string")
End If
End If
System.Configuration.Configuration rootWebConfig1 =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
if (0 < rootWebConfig1.AppSettings.Settings.Count)
{
System.Configuration.KeyValueConfigurationElement customSetting =
rootWebConfig1.AppSettings.Settings["customsetting1"];
if (null != customSetting)
Console.WriteLine("customsetting1 application string = \"{0}\"",
customSetting.Value);
else
Console.WriteLine("No customsetting1 application string");
}
コードのコンパイル方法
この例で必要な要素は次のとおりです。
ルート Web.config ファイルで、appSettings 要素は次のようになります。
<appSettings> <add key="customsetting1" value="Some text here"/> </appSettings>
appSettings 要素は、<configuration> 要素の直接の子で system.web 要素のピアです。
堅牢性の高いプログラム
Web.config ファイルの appSettings 要素から読み取られる値は、常に String 型です。Web.config ファイルに特定のキーが存在しない場合、エラーは発生しません。代わりに、空の文字列が戻ります。
セキュリティ
Windows のセキュリティ設定によって構成ファイルをサーバー上で保護して、だれがファイルを読み取ることができるかを限定する必要があります。ユーザー資格情報などの機密情報は Web.config ファイルの appSettings 要素に格納しないでください。また、構成設定の暗号化を考慮してください。詳細については、「保護された構成を使用した構成情報の暗号化」を参照してください。