.net-3.5 - 帮助监控对象状态的自定义工作流

标签 .net-3.5 workflow-foundation

我需要编写一个监控对象状态的工作流。 (它可能要等待数天或数小时才能更改状态)

我有对象的以下状态(我们称之为 Issue 对象):

1) Created
2) Unowned
3) Owned
4) UnAssigned
5) Assigned
6) In Progress
7) Signed Off
8) Closed

如果对象在定义的时间段内处于特定状态,我还需要对该对象采取一些操作(我也不确定如何完成)。

对象的所有者/受让人可以随时更改(即从 In Progress 变为 UnOwned),所以我猜测状态机图是我需要使用的。 如果我的想法不正确,请告诉我。

我的应用程序是用 c# .net 3.5 编写的。

我正在考虑使用一个名为 CreateIssue 的服务方法,它将票证插入数据库,然后开始一个工作流实例(使用对象或对象的 ID 作为参数)。 我不确定工作流如何知道特定对象何时更新,或者对象的状态是否已更改。我已经使用 Windows Workflow Foundation 3.5 完成了一些非常简单的“hello world”类型的应用程序,但还没有掌握如何实现这样的事情。

关于此的任何方向都将非常有帮助。

提前致谢。

最佳答案

基本方法是创建一个 WorkflowService,定期检查数据库并在发送所需更改时将消息排队。 worklfow 事件告诉服务在它开始执行时正在等待什么以及它正在监听的队列。当收到所需的消息时,该事件将关闭。

关于.net-3.5 - 帮助监控对象状态的自定义工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2540486/

相关文章:

.net - 使 asp.net 应用程序符合 IPv6

.net - 使用应用程序配置在 .NET 4 中运行 .NET 3.5 构建的混合模式程序集也需要 Framework 3.5

c# - 在工作流中对跟踪数据进行版本控制的最佳方法是什么?

unit-testing - 工作流单元测试

msbuild - TFS 2010 构建期间出现未知错误

c# - 如何使用 Inner Join 进行更新

workflow-foundation - 您何时更喜欢使用状态机而不是线性工作流

c++ - 与标准 C++ 相比,C++/CLI(以前称为 "Managed C++")有哪些优势?

c# - .NET 3.5 列表框选定值 (Winforms)

c# - 异步远程调用