2009-04-23 5 views
8

Windows 및 Mono에서 사용할 수 있도록하려는 C# 서비스를 작성하고 있습니다. Mono를 실험하기 시작했으며 Windows와 Mono 모두에서 작동하는 서비스를 제어하는 ​​설정을 저장하는 가장 좋은 방법을 결정하려고합니다.Windows 및 Mono에서 C# 서비스 설정 저장

  1. 설정 서비스가 설치되어있는 파일

    • 장점 : 권한, 윈도우 아마 파일
    • 쓰기 싫어하는 것 : 각 플랫폼에 동일한 코드를 편집 할
    • 단점을 쉽게 찾을 수 플랫폼 스토리지
  2. 설정 파일 (%의 APPDATA,/등 ...)

    • 장점 : 쉽게
    • 단점 편집 찾기 위해 권한을 갖게됩니다 :에 쉬운 : 더 각 플랫폼을
  3. 작은 데이터베이스 (? SQLite는 아마도)

    • 프로를 처리하는 데 필요한 코딩 설정 저장 및 검색 코드 작성
    • 단점 : 수동으로 편집하기 쉽지 않음, 저장 위치와 동일한 문제

어느 것이 가장 좋다고 생각하니, 더 좋은 제안이 있습니까?
설정을 쉽게 변경하도록 명령 줄 클라이언트를 작성하는 중입니다. 그러면 설정을 저장하는 방법이 변경 될까요?

답변

5

IsolatedStorage을 살펴보십시오. 이것은 응용 프로그램 별 저장소를 제공하기위한 API이며 .NET에 기본 제공되며 Mono에서 지원됩니다. API는 프레임 워크에 의해 관리되는 위치에 저장된 파일에 IO 파일을 제공합니다. Mono에서는 ~/.isolatedstorage 디렉토리가되며, Windows에서는 사용자의 Documents and Settings 어딘가에 위치합니다.

이 API를 사용하면 운영 체제 특성이나 사용 권한에 대해 걱정할 필요없이 설정 파일을 유지 관리 할 수 ​​있습니다.

+0

IsolatedStorage가 Mono에서 구현되지 않았다는 것을 알지 못했습니다. SQLite ADO.NET에는 IsolatedStorage 지원 계획이 있습니다. – Samuel

+0

IsolatedStorage가 여러 프로젝트에서 상점 공유를 허용하지 않는 것 같습니다. 그런 종류의 일은 내가하고 싶은 일을 죽인다. 또한 어셈블리를 움직이면 죽습니다. – Samuel

+0

정말입니까? IsolatedStorageScope.User에 격리 저장소 저장소를 요청하면 어떻게됩니까? 나는 이것을 시도하지 않았지만 효과가있을 수있다 ... –