我正在寻找一些用于持久化应用程序本地状态的好方法(.Net / C#创建)。
我考虑自己开发解决方案,或使用简单的本地数据库,例如Sqllite,然而我想问问SO社区还有哪些可用的选项。
我正在为一个在Kiosk上运行的应用程序工作,并且需要在意外关机和其他类似异常情况下维护本地状态。
你有什么推荐的吗?
更新
经过进一步审查,我决定使用带有DbLinq的SQLite,主要替代品是SQL Server Compact edition,但我发现了几个重要因素,这些因素使得SQLite优于SQLCE。
特别是:
- SQLCE提供的API(据我所见)不如SQLite.net或DbLinq提供的API丰富。
- SQLCE运行时性能不如SQLite。
- SQLite是开源的,这是一个有用的因素。
为什么我没有使用Properties.Settings或app.config?
对于我的用例,我需要类似于(易于)查询事件日志的东西(我需要允许信用交易的审核)。我在这里处理的主要状态值是Kiosk上的可用信用。因此,在应用程序启动时恢复我的状态变量,我可以查询日志获取最后一个条目,并从那里获取所需的值。
当您只需要存储值并检索它时,Properties.Settings或app.config是完全足够的地方。