我正在编写一个 C# 服务,希望能够在 Windows 和 Mono 上使用。我刚刚开始尝试使用 Mono,并试图确定存储设置以控制适用于 Windows 和 Mono 的服务的最佳方式。
安装服务的设置文件
- 优点:每个平台都使用相同的代码,易于查找以进行编辑
- 缺点:权限,Windows 可能不喜欢写入文件
平台存储中的设置文件(%APPDATA、/etc、...)
- 优点:将有权限,更容易找到进行编辑
- 缺点:需要更多编码来处理每个平台
小型数据库(可能是 SQLite?)
- 优点:更容易编写代码来存储和检索设置
- 缺点:不易手动编辑,存储位置同样存在问题
你觉得哪个最好,或者你有更好的建议?
我也可能会编写一个命令行客户端,以便更轻松地更改设置,这会改变设置的存储方式吗?
最佳答案
看看IsolatedStorage .这是一个为您提供每个应用程序存储的 API,它内置于 .NET 中并在 Mono 中受支持。 API 为存储在由框架管理的位置的文件提供文件 IO:在 Mono 中,它将是一个 ~/.isolatstorage 目录,在 Windows 中,它将位于用户的文档和设置中的某个位置。
使用此 API,您可以维护您的设置文件,而不必担心操作系统细节或权限。
关于c# - 在 Windows 和 Mono 中存储 C# 服务设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/779852/