如何在.Net中存储多个应用程序可访问的设置?

时间:2015-01-10 15:16:59

标签: .net settings preferences

我正在开发一个项目,该项目必须存储只能由单个应用程序访问的设置,以及多个应用程序必须可访问的设置(将来会编写)。

我在Java中知道有Preferences类有Preferences.systemRoot(),独立于系统注册表中的任何应用程序节点存储的首选项节点(在Windows上,OSX上我不知道)。我也知道.Net设置存储在%appdata%目录中,这很好。无论哪种方式都适合我。

我需要知道的是.Net的设置是否等同于Java Preferences.systemRoot()

1 个答案:

答案 0 :(得分:0)

没有内置功能。<​​/ p>

你有几个选择 - 没有特别的顺序。

  
      
  1. 将设置存储为%AppData%

  2. 中的文件   
  3. 将设置存储在数据库中

  4.   
  5. 将设置存储在注册表中(正如其他人所提到的,这不是一个好主意)。

  6.   
  7. 将设置存储在“云端”中。

  8.   

选项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.

有许多可行的选择。这绝不是一份详尽的清单。每个选项都有其优缺点,您需要针对特定​​用例进行讨论。