C#的检查点库

时间:2008-11-30 17:00:26

标签: c#

我正在寻找C#的检查点库。有什么想法吗?

请参阅http://en.wikipedia.org/wiki/Application_checkpointing

4 个答案:

答案 0 :(得分:2)

这应该可以使用事务(提交/回滚)或撤消来实现。如果你正确地设计你的课程和操作它会起作用,当然需要一些努力工作和纪律。你还需要注意例外情况。

System.Transactions namespace(如符文所建议的)似乎是一个很好的候选人,或者至少是一个很好的起点。

答案 1 :(得分:1)

如果我理解正确(并且问题非常模糊,因此我根本不确定),那么Windows Workflow Foundation肯定具备此功能。但是,你所要求的几乎肯定是矫枉过正。


好的,您添加了一个链接,可以通过检查点更好地解释您的意思。

考虑到这一点,.Net没有内置任何东西来直接支持这一点。但是,任何使用可以持久保存状态机的状态机的东西都可以被检查/验证,并且事务性具有自然内置的这种东西。 WWF就是其中的一个例子。

答案 2 :(得分:1)

我不认为有内置的支持,但建立自己应该相对容易。 假设您有一个中央应用程序类来存储您的应用程序状态,或者至少有一个用于检查点的部分。然后,您可以使用序列化来存储应用程序的状态。此外,如果稍后需要,可以很容易地将快照存储在文件的数据库中。但这需要您编写自己的库来支持它。

在我写这篇文章时,我开始觉得在框架中必须有一些支持。例如,查看System.Transactions命名空间。

答案 3 :(得分:0)

鉴于来自维基百科的链接,我可以告诉你.NET / CLR不支持这一点。这是不可能的,因为.NET不允许您检查修改应用程序堆栈,而这又不可能由于.NET内置的安全性而无法实现。