appSettingsセクションにサブファイルを指定することができます。
サブファイルを指定した場合、サブファイルの情報が優先されます。
作成方法:
1.Web.configのappSettingsにfile属性を加えます。
2.file属性に指定した名前でconfigファイルを作成します。
file属性に指定したconfigファイルには、configurationタグや、
system.webセクションを記述する必要はありません。
変更したいキーのみ記述します。
例:
***** Web.config *****
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
<appSettings file="user.config">
<add key="ConnectionString" value="・・・・・" />
<add key="List_MaxIndex" value="99" />
</appSettings>
</configuration>
***** user.config *****
<?xml version="1.0" encoding="utf-8" ?>
<appSettings file="user.config">
<add key="ConnectionString" value="・・・・・" />
</appSettings>
注意:
・VisualSourceSafeでは、Web.configのみ管理し、
file属性に指定するconfigファイルは必要な人のみ配置するようにします。
ファイルが存在しない場合は、Web.configに指定した値が使用されます。
・Web.config内の他のセクション(traceセクションなど)は使用できません。
・file属性に指定したconfigファイルを変更してもアプリケーションの
リスタートは行われません。
・file属性には相対パスが利用できます。
コメント (3)
>・file属性に指定したconfigファイルを変更してもアプリケーションの
> リスタートは行われません。
IISのmmcからWebサイトを停止→開始を行ったのですが、これだけでは変更が反映されませんでした。
以下の方法ではいずれも反映されました。
・VisualStudio.Netでリビルド
・サービスからIIS Adiminを再起動
運用中のシステムをVS.NETでリビルドするわけにもいかないので、IISの再起動となるのでしょうけれど、
これをアプリケーション単位で再起動させられないものでしょうかね?
投稿者: naka | 2004年12月28日 14:44
試しにWeb.configの該当箇所をコメントアウトし、
user.configに書かれているだけの状態にしてみたところ、
読み込まれませんでした。
例
***** Web.config *****
<appSettings file="user.config">
<!--add key="ConnectionString" value="・・・・・" /-->
<!--add key="List_MaxIndex" value="99" /-->
</appSettings>
***** user.config *****
<appSettings file="user.config">
<add key="ConnectionString" value="・・・・・" />
<add key="List_MaxIndex" value="99" />
</appSettings>
どうやら、まったく同じ項目がないと読み込めないようです。
よって、Web.configには無いままで、user.configだけに項目を追加することはできません。
ご注意ください。
投稿者: takefuji | 2005年3月29日 21:04
user.configにもさらにfileを指定すると
動作しません。
正しくは以下のとおりです。
ご注意ください。
***** Web.config *****
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
</system.web>
<appSettings file="user.config">
<add key="ConnectionString" value="・・・・・" />
<add key="List_MaxIndex" value="99" />
</appSettings>
</configuration>
***** user.config *****
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="ConnectionString" value="・・・・・" />
</appSettings>
投稿者: takefuji | 2005年4月 7日 16:34