gpt4 book ai didi

c# - 哪些选项可用于 .Net 中的本地状态持久化

转载 作者:太空狗 更新时间:2023-10-30 00:27:13 28 4
gpt4 key购买 nike

我正在寻找持久保存应用程序本地状态的好方法(在 .Net/C# 中创建。)

我考虑过推出自己的解决方案,或使用简单的本地数据库(例如 Sqllite),但我想我应该询问 SO 社区有哪些可用选项。

我正在处理的应用程序存在于 Kiosk 上,我需要维护本地状态以防意外关闭和其他类似异常。

你有什么建议?

更新

好吧,经过进一步审查,我决定将 SQLite 与 DbLinq 一起使用,主要的替代竞争者是 SQL Server Compact 版本,但我发现有几个重要因素将 SQLite 置于 SQLCE 之上。

值得注意的是。

  • SQLCE (IMO) 提供的 API 不如 SQLite.net 或 DbLinq 提供的 API 丰富。
  • SQLCE 运行时性能不如 SQLite。
  • SQLite 开源是一个有用的因素。

为什么我没有使用 Properties.Settings 或 app.config?

对于我的用例,我需要类似(易于)查询的事件日志(我需要允许对信用交易进行审计。)我在这里解决的主要状态值是信息亭上的可用信用。因此,为了在应用程序启动时恢复我的状态变量,我可以查询日志中的最后一个条目并从那里获取所需的值。

当您只需要存储一个值并检索它时,Properties.Settings 或 app.config 是执行此操作的完全合适的地方。

最佳答案

我会推荐 XmlSerializerBinaryFormatter,您可以在 SO 或 google 上查看它们。

您的选择将取决于一些偏好,例如数据集的大小或快速序列化数据的能力。

如果您需要一次保存整个应用程序状态,这两种方法都是非常快捷的方法。

但是,如果您需要在发生更改时逐个保存应用程序状态,您最好使用某种数据库,http://www.sqlite.org/例如。

http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm

http://www.jpreece.com/csharp/serialization-tutorial/

关于c# - 哪些选项可用于 .Net 中的本地状态持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7424575/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com