在Windows和Mono中存储C#服务设置

Sam*_*uel 9 c# mono settings windows-services

我正在编写一个C#服务,我希望能够在Windows和Mono上使用它.我刚刚开始尝试使用Mono,我正在尝试确定存储设置的最佳方法,以控制适用于Windows和Mono的服务.

  1. 安装服务的设置文件

    • 优点:每个平台的代码相同,易于编辑
    • 缺点:权限,Windows可能不喜欢写入文件
  2. 平台存储中的设置文件(%APPDATA,/ etc,...)

    • 优点:具有权限,更容易找到编辑
    • 缺点:处理每个平台需要更多编码
  3. 小数据库(可能是SQLite?)

    • 优点:更容易编写代码来存储和检索设置
    • 缺点:手动编辑不容易,存储位置的问题也一样

您认为哪个最好,或者您有更好的建议?
我也可能会编写命令行客户端以便更改设置,这会改变设置的存储方式吗?

小智 5

看看IsolatedStorage.这是一个为您提供每个应用程序存储的API,它内置于.NET中,并在Mono中受支持.API为存储在框架管理的位置的文件提供文件IO:在Mono中它将是一个〜/ .isolatedstorage目录,在Windows中它将位于用户的Documents and Settings中的某个位置.

使用此API,您可以维护设置文件,而无需担心操作系统细节或权限.