app.config のカスタム構成セクションの 1 つで値を更新する必要があります。これを行う方法の良い例はありますか?
<mySection>
<level1>
<add data1="444"/>
</level1>
</mySection>
プログラムで 444 から 555 に更新したい。
app.config のカスタム構成セクションの 1 つで値を更新する必要があります。これを行う方法の良い例はありますか?
<mySection>
<level1>
<add data1="444"/>
</level1>
</mySection>
プログラムで 444 から 555 に更新したい。
構成が application.exe.config に保存されていると仮定すると、次のように動作するはずです。
void ModifyLevel1Value(int newValue)
{
Configuration exeConfiguration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
MySection section = (MySection)exeConfiguration.GetSection("mySection");
// Modify value, or whatever is sensible in your program
section.LevelsCollection["data1"] = newValue;
exeConfiguration.Save();
}
Web アプリとその構成の経験がほとんどないため、これが web.config で機能するかどうかはわかりません。
この手法は構成ファイルを書き換えますが、内部構成ファイルのキャッシュはフラッシュしません。構成ファイルを強制的に再ロードするには (アプリケーションでは問題にならない場合があります)、次の静的メソッドを呼び出すことができます。
ConfigurationManager.RefreshSection(section);
linq to xmlを使用して、変更する要素を見つけることができます。XElementオブジェクトを取得し、必要に応じて変更して保存する必要があります。