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>在 app.config 中修改了下面元素的值之一,我如何将此文件中的数据传递给方法,以便该方法可以有效地解析它并更新自定义配置文件中的相应部分我建立?

4

2 回答 2

0

这表明了糟糕的设计,可能有更好的方法来实现整个功能。但是,如果您无法控制“服务”部分,那么您将陷入困境......

您可能需要FileSystemWatcher,它“侦听文件系统更改通知并在目录或目录中的文件更改时引发事件”。

添加一个事件处理程序,如果您的文件发生更改,请再次读取整个文件并解析它。

于 2012-12-17T20:10:02.783 回答
0

实现自定义 ConfigSection 处理程序(请参阅http://msdn.microsoft.com/en-us/library/2tw134k3(v=vs.100).aspx)。

于 2012-12-17T20:36:04.060 回答