1

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

有状态是指触发时的事件被序列化到持久存储。如果系统由于某种原因失败,然后当它被买回来时,它会恢复序列化状态,然后再次触发它。

我也在查看预定的事件——在这种情况下,有状态的事件可以委托给未来的时间,并且即使系统在两者之间的任何时间被买断,也可以保证在那个时候被触发。

.net中有这样的东西吗?

4

3 回答 3

1

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

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

于 2010-01-15T01:01:44.913 回答
1

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

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

于 2010-01-15T01:02:28.417 回答
0

你也许可以用 PostSharp 做点什么。

于 2010-01-15T01:00:06.620 回答