如何在运行时修改配置文件
How do I modify config file at runtime
我需要在运行时更改配置文件 myApp.exe.config
。如何确保程序可以在不离开程序的情况下启动并处理修改后的文件?
可能需要使用 ConfigurationManager。
谢谢!
绝对有可能,我前段时间在工作中这样做过。本质上,您可以将新的 app.config 文件加载到内存中,然后告诉 .NET 使用新文件。从那时起,Configurarion
部分中的所有变量在使用标准 .NET 调用读取时都会发生变化。
抱歉,我不能给出具体细节,您可能还需要 Google 一些 - 但至少您知道这是可能的!!
话虽如此,我认为这是错误的架构路径。最好将您的设置以您自己的格式存储在外部文件中。更新 app.config 确实是一件非常痛苦的事情,如果我们出于与遗留程序集的兼容性原因而不必这样做,那至少是不值得的。遗留程序集使用 WCF,这本身就是一个错误。 WCF 是一个可怕的架构泥潭,与任何现代替代方案相比几乎没有可取之处。
更新
- 参见 Overriding App.Config settings。
- 参见 Change default app.config at runtime。
我需要在运行时更改配置文件 myApp.exe.config
。如何确保程序可以在不离开程序的情况下启动并处理修改后的文件?
可能需要使用 ConfigurationManager。
谢谢!
绝对有可能,我前段时间在工作中这样做过。本质上,您可以将新的 app.config 文件加载到内存中,然后告诉 .NET 使用新文件。从那时起,Configurarion
部分中的所有变量在使用标准 .NET 调用读取时都会发生变化。
抱歉,我不能给出具体细节,您可能还需要 Google 一些 - 但至少您知道这是可能的!!
话虽如此,我认为这是错误的架构路径。最好将您的设置以您自己的格式存储在外部文件中。更新 app.config 确实是一件非常痛苦的事情,如果我们出于与遗留程序集的兼容性原因而不必这样做,那至少是不值得的。遗留程序集使用 WCF,这本身就是一个错误。 WCF 是一个可怕的架构泥潭,与任何现代替代方案相比几乎没有可取之处。
更新
- 参见 Overriding App.Config settings。
- 参见 Change default app.config at runtime。