我正在寻找保持应用程序本地状态的好选择(在 .Net/C# 中创建。)
我考虑过推出自己的解决方案,或者使用简单的本地数据库,例如 Sqllite,但是我想我会问 SO 社区有哪些可用的选项。
我正在处理的应用程序存在于 Kiosk 上,我需要维护本地状态以防意外关闭和其他类似异常。
你有什么建议吗?
更新
好吧,经过进一步审查,我决定将 SQLite 与 DbLinq 一起使用,主要的替代竞争者是 SQL Server Compact 版本,但我发现有几个重要的因素,这些因素将 SQLite 置于 SQLCE 之上。
尤其。
- SQLCE (IMO) 提供的 API 不如 SQLite.net 或 DbLinq 提供的丰富。
- SQLCE 运行时性能不如 SQLite。
- SQLite 是开源的是一个有用的因素。
为什么我没有使用 Properties.Settings 或 app.config?
对于我的用例,我需要一个(易于)可查询的事件日志(我需要允许审计信用交易。)我在这里处理的主要状态值是信息亭上的可用信用。因此,要在应用程序启动时恢复我的状态变量,我可以查询日志以获取最后一个条目并从那里获取所需的值。
当您只需要存储一个值并检索它时,Properties.Settings 或 app.config 是执行此操作的最佳位置。