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

标签 c# windows-services mono settings

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

  1. 安装服务的设置文件

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

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

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

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

最佳答案

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

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

关于c# - 在 Windows 和 Mono 中存储 C# 服务设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/779852/

相关文章:

c# - 检测是否在 KeyRoutedEventArgs 事件中按下修改键

c# - 如何使用 C#.NET(4) 明智地拆分 word 文件页面并打开 xml sdk 2.0?

c# - 使用具有不同类型详细信息的主从 View

c# - 如何从 Windows 服务打开 cmd?

jenkins - 更新后无法在Windows中启动Jenkins服务

mono - System.Security.Cryptography.Xml 在可移植类库中?

c# - 从 C# 在 JasperServer 上运行报告

c# - 如何获取Mono命令行参数?

c# - 如何确定字符串是本地文件夹字符串还是网络字符串?

c# - 启动时立即出现 Windows 服务 "Timeout"