2015-01-10 4 views
1

저는 단일 응용 프로그램에서만 액세스 할 수있는 설정과 여러 응용 프로그램 (앞으로 작성 될 예정)에서 액세스 할 수 있어야하는 설정을 저장해야하는 프로젝트 작업 중입니다..Net의 여러 응용 프로그램에서 액세스 할 수있는 설정을 저장하려면 어떻게해야합니까?

Preferences 클래스는 Preferences.systemRoot()이며, 시스템 레지스트리의 응용 프로그램 노드와 별도로 저장되는 환경 설정 노드 (OSX에서는 잘 모름)가 있습니다. 또한 .Net 설정이 %appdata% 디렉토리에 저장된다는 것을 알고 있습니다. 어느 것이 든 나를 위해 잘 작동합니다.

알아 두어야 할 것은 .Net에는 Java Preferences.systemRoot()과 동일한 설정이 있습니까?

+1

무슨 .NET 응용 프로그램에 대해 이야기하고 있습니까? 게다가 레지스트리는 피해야합니다. – Sievajet

+0

레지스트리에 값을 저장하는 것에 대해 이야기하는 것이 아닙니다. 모든 프로그램에 액세스 할 수있는 값을 저장할 수있는 Java의 Preferences.systemRoot()에서 얻은 기능에 대해 이야기하고 있습니다. 그게 내가 원하는거야 ... 음, 나는 정말로 잘 어울리지 않는 것 같아. – Will

+0

'Environment.System'value http://msdn.microsoft.com/en-us/library/system.environment 사용할 수 있습니다. .specialfolder % 28v = vs.110 % 29.aspx –

답변

0

이 기능은 기본적으로 제공되지 않습니다.

당신은 몇 가지 옵션이 있습니다 - 특별한 순서는 없습니다.

  1. 스토어에게 %의의 AppData %의

  2. 스토어에서 파일로 설정을 데이터베이스

  3. 스토어의 설정은 다른 언급이 레지스트리의 설정은 (이 아니다 좋은 아이디어).

  4. "클라우드"에 설정을 저장하십시오.

옵션 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. 

많은 실행 가능한 옵션이 있습니다. 이것은 결코 완전한 목록이 아닙니다. 각 옵션에는 장단점이 있으므로 특정 유스 케이스에 맞게 각별히주의해야합니다.

+0

우리는 데이터베이스에 값을 저장하고 있습니다. 그러나 우리의 고객은 ... 이유 때문에 시스템을 오프라인으로 실행하는 편집증 환자입니다. 귀하의 옵션 목록에 관해서는 제가 가고있는 # 1을 원하지만 여러 다른 응용 프로그램에서 특정 설정 개체에 액세스하는 방법에 대해 알아야합니다. – Will

+0

기본 코드 예제가 추가되었습니다. –

+0

감사합니다. 그것은 내가 염두에 두었던 것이 전부는 아니며 .Net Settings API (아마도 적절한 현지어가 아님)를 활용하고 싶었습니다. – Will