基本上我们的应用程序的多个实例将启动,但它们需要具有单独的用户设置。我们目前使用“用户设置”,它适用于单个实例(每个Windows用户),但我们希望能够通过命令行传入设置路径来启动多个实例。有没有办法使用内置的.NET设置执行此操作,还是我们必须自己滚动?
答案 0 :(得分:3)
LocalFileSettingsProvider类是使用用户设置管理文件的类,很难调整。谁写的那些肯定因安全问题而陷入瘫痪。也许并非没有道理。
如果您想坚持使用System.Configuration,那么您需要实现自己的提供程序。可能最好的方法是从RegistrySettingsProvider sample开始。它无法帮助您正确处理文件,但至少您可以构建一些内容。与Reflector的几个偷看可以帮助。
答案 1 :(得分:1)
我建议开发一个可以处理应用设置并接受文件名的类。我必须为需要应用程序设置的DLL执行此操作,如果您要将设置存储在非本地位置(例如网络上的单个位置),它也会有所帮助。
它将为您提供更多灵活性 - 绝对值得投资!
答案 2 :(得分:0)
.Net有一个配置提供程序API。 app.config只是该API的预定义实现。您应该考虑使用API扩展内置API,或创建自己的API。
答案 3 :(得分:0)
我建议将配置信息存储在DB中并根据用户进行读取。任何情况下您都必须维护用户特定信息的不同副本。从DB读取的应用程序的加载和缓存所有设置。
用户个性化和配置文件API以检索信息。在DB中更新信息而不是处理位于用户系统中的文件非常容易。
答案 4 :(得分:0)
有一个有趣的CodeProject article,它有一个自定义设置提供程序。您只需要对代码进行一些小调整,然后就可以将设置保存并加载到您提供的文件位置。