我正在开发一个项目,该项目必须存储只能由单个应用程序访问的设置,以及多个应用程序必须可访问的设置(将来会编写)。
我在Java中知道有Preferences
类有Preferences.systemRoot()
,独立于系统注册表中的任何应用程序节点存储的首选项节点(在Windows上,OSX上我不知道)。我也知道.Net设置存储在%appdata%
目录中,这很好。无论哪种方式都适合我。
我需要知道的是.Net的设置是否等同于Java Preferences.systemRoot()
?
答案 0 :(得分:0)
没有内置功能。</ p>
你有几个选择 - 没有特别的顺序。
- 中的文件
将设置存储为%AppData%
将设置存储在数据库中
将设置存储在注册表中(正如其他人所提到的,这不是一个好主意)。
- 醇>
将设置存储在“云端”中。
选项1的一个例子是:
Dim settingsDirectory as String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Dim fileName As String = "the name of the settings file.xml"
Dim settingsPath As String = String.Empty
settingsDirectory = Path.Combine(settingsDirectory, "Your Company Name here")
If Not Directory.Exists(settingsDirectory) Then
Directory.Create(settingsDirectory)
End If
settingsPath = Path.Combine(settingsDirectory, fileName)
' Read or write your settings file here.
有许多可行的选择。这绝不是一份详尽的清单。每个选项都有其优缺点,您需要针对特定用例进行讨论。