【问题标题】:Storing C# Service Settings in Windows & Mono在 Windows 和 Mono 中存储 C# 服务设置
【发布时间】:2010-10-21 06:14:13
【问题描述】:

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

  1. 安装服务的设置文件

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

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

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

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

【问题讨论】:

    标签: c# windows-services mono settings


    【解决方案1】:

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

    使用此 API,您可以维护您的设置文件,而不必担心操作系统细节或权限。

    【讨论】:

    • 不知道 IsolatedStorage 是在 Mono 中实现的。看起来 SQLite ADO.NET 已经计划了对独立存储的支持。
    • IsolatedStorage 似乎不允许跨多个项目共享商店。那会扼杀我想做的事情。如果您移动程序集,它也会死掉。
    • 你确定吗?如果您为 IsolatedStorageScope.User 请求隔离存储存储怎么办?我还没有尝试过,但它可能会工作......
    猜你喜欢
    • 2017-05-21
    • 2012-03-29
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2013-02-24
    相关资源
    最近更新 更多