C#中的有状态事件

时间:2010-01-15 00:57:52

标签: c# .net events serialization stateful

.net(c#)中是否有任何有状态事件机制或任何可帮助我维护触发事件状态的库

有状态我的意思是将被触发的事件序列化为持久存储。如果系统由于某种原因而失败,然后当它被买回时会选择序列化状态然后再次触发它。

我也在查看预定的活动 - 在这种情况下,有状态事件可以委派给未来的时间,并且即使系统在两者之间的任何时间被买下,也会保证在那时被解雇。

.net中有这样的东西吗?

3 个答案:

答案 0 :(得分:1)

虽然技术上不是有状态事件机制,Windows Workflow Foundation包含许多功能来处理这些特定类型的情况。

特别是,它具有适当的例程,用于将工作状态序列化为存储,处理故障以及使用外部事件恢复长时间运行的进程。

答案 1 :(得分:1)

有一点学习曲线,但Windows Workflow Foundation(WF)就是这样做的。工作流程具有可以涉及提升或处理事件的活动,并且在工作流程中的各个点处,可以序列化整个工作流程的状态。它支持SQL Server开箱即用,但您可以扩展持久层。当工作流程从序列化中恢​​复时,他们会从中断处继续工作。

值得注意的是,不鼓励对当前版本的WF进行任何严肃的投资,因为它们在.NET 4.0中完全重写了它,如果你没有对当前版本进行投资,你应该从那开始。

答案 2 :(得分:0)

你可以用PostSharp做点什么。