3

基本上我们的应用程序的多个实例将被启动,但它们需要有单独的用户设置。我们目前为此使用“用户设置”,它适用于单个实例(每个 Windows 用户),但我们希望能够通过命令行传入的设置路径启动多个实例。有没有办法通过内置的 .NET 设置来做到这一点,还是我们必须自己动手?

4

5 回答 5

3

LocalFileSettingsProvider 类,即使用用户设置管理文件的类,是完全不可能调整的。不管是谁写的,一定是因为安全问题而瘫痪了。或许不无道理。

如果您想坚持使用 System.Configuration,那么您需要实现自己的提供程序。可能最好的方法是从RegistrySettingsProvider 示例开始。它不会帮助您正确处理文件,但至少您将有一些东西可以构建。使用反射器进行几次偷看会有所帮助。

于 2010-03-17T00:52:54.780 回答
2

我建议开发一个可以处理应用程序设置并接受文件名的类。我必须为需要应用程序设置的 DLL 执行此操作,如果您想将设置存储在非本地位置(例如网络上的单个位置),它也会有所帮助。

它会给你更多的灵活性——绝对值得投资!

于 2010-03-16T23:53:35.080 回答
0

.Net 有一个配置提供程序 API。app.config 只是该 API 的预定义实现。您应该考虑使用 API 来扩展内置 API,或者创建自己的 API。

于 2010-03-16T23:59:15.570 回答
0

我建议将配置信息存储在数据库中并根据用户读取。任何情况下您都必须维护用户特定信息的不同副本。加载从数据库读取的应用程序并缓存所有设置。

用于检索信息的用户用户个性化和配置文件 API。更新数据库中的信息非常容易,而不是处理位于用户系统中的文件。

于 2010-03-17T00:58:39.193 回答
0

有一篇有趣的CodeProject 文章,它有一个自定义设置提供程序。您只需要对代码稍作调整,然后它就允许您将设置保存并加载到您提供的文件位置。

于 2016-05-12T13:13:18.590 回答