0

MyApp.exe.configファイルをxmlとして別の場所にコピーしています。

このカスタム構成ファイルを使用して、 を使用しConfigurationManager.<section>app.config.

問題は、デフォルトの app.config ファイルが後の段階でユーザー マシン上で更新される可能性があり、これらの変更をカスタム構成ファイルに反映させたいということです。

これを行う最善の方法は何ですか?

<configSections>
    <section name="" type="" />
</configSections>

<appSettings>
    <add key="" value="" />
</appSettings>

<ConnectionManangerProviders>
    <provider name="" enabled="" type="">
        <pollingInterval></pollingInterval>
    </provider>
</ConnectionManagerProviders>

<QueueManagerProviders>
    <provider name="" enabled="" type="unique" encrypted="" signed="" cryptoProvider="" />
    <provider name="" enabled="" type="unique" encrypted="" signed="" cryptoProvider="">
        <queueName></queueName>
    </provider>
    <provider name="" enabled="" type="unique" encrypted="" signed="" cryptoProvider="">
        <applicationName></applicationName>
        <connectionString></connectionString>
    </provider>
</QueueManagerProviders>

たとえば、構成ファイルは次のようになります。<QueueManagerProviders>下の要素の値の 1 つがapp.config で変更されたとしましょう。このファイルのデータをメソッドに渡して、メソッドが効果的に解析し、カスタム構成ファイルの適切なセクションを更新できるようにするにはどうすればよいですか?私が作成しました?

4

2 に答える 2

0

カスタムConfigSectionハンドラーを実装します(http://msdn.microsoft.com/en-us/library/2tw134k3(v=vs.100).aspxを参照)。

于 2012-12-17T20:36:04.060 に答える
0

これは悪い設計について何かを叫びます。おそらく、機能全体を実装するためのより良い方法があります。しかし、「サービス」の部分を制御できない場合は、行き詰まります...

おそらく、「ファイルシステムの変更通知をリッスンし、ディレクトリまたはディレクトリ内のファイルが変更されたときにイベントを発生させる」FileSystemWatcherが必要です。

イベント ハンドラーを追加し、ファイルが変更された場合は、ファイル全体を再度読み取って解析します。

于 2012-12-17T20:10:02.783 に答える