gpt4 book ai didi

c# - 将持久数据保存在内存中

转载 作者:可可西里 更新时间:2023-11-01 13:08:09 34 4
gpt4 key购买 nike

我准备用 C# 开发一个 Windows 服务。该服务需要跟踪系统中的事件,并时不时地向文件写入一些数据。这些正在进行的事件形成了某种状态,因此我会将状态保存在内存中并在事件到达时更新它。我不想让事情过于复杂,所以我不希望状态在磁盘上持久存在,但我想知道我是否可以以某种方式让它在内存中持久存在,这样如果服务崩溃(并自动重启Windows)它可以从它离开的地方继续(可能会丢失一些事件,没什么大不了的)。

我一直在考虑创建一个“共享”内存区域,从而让 Windows 管理它,并仅在服务中使用它 - 但我不确定该对象是否会在服务终止后继续存在。

有什么想法吗?

编辑:我不是在寻找矫枉过正的解决方案。数据有些重要,所以我想让它在内存中等待,直到服务重新启动,但数据不是重要。如果我可以轻松地保留数据,而无需使用文件、外部第 3 方进程等,那么它更像是一个不错的功能。我理想的解决方案是一个简单的内置功能(在 .NET 或 Windows 中),它将为我提供一些内存持久性,只是为了从崩溃事件中恢复。

最佳答案

您可以使用 Microsoft Enterprise Library 中的持久缓存 block .

它是可配置的,您可以使用许多后备存储,例如数据库和独立存储。

关于c# - 将持久数据保存在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3724553/

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