Visual studio 2010 使用.Net framework动态生成状态机

Visual studio 2010 使用.Net framework动态生成状态机,visual-studio-2010,.net-4.0,workflow,workflow-foundation-4,state-machine,Visual Studio 2010,.net 4.0,Workflow,Workflow Foundation 4,State Machine,我正在尝试使用状态机(.Net framework 4.0 update 1)对给定的问题建模,我想知道是否可以在运行时向状态机添加新状态 我想模拟一个街道结构作为一个国家机器。用户将在地图上定义他的目的地,我想将其用作状态机的状态 任何帮助 如果要编辑状态机,然后启动它的新实例,没有问题。在代码中添加所需的状态和转换,然后使用新的工作流定义启动新实例 如果你需要编辑已经运行的状态机的定义,你需要使用动态更新功能(在.NET 4.5中,目前处于Beta版)。这里是@RonJacobs的一篇博文,

我正在尝试使用状态机(.Net framework 4.0 update 1)对给定的问题建模,我想知道是否可以在运行时向状态机添加新状态

我想模拟一个街道结构作为一个国家机器。用户将在地图上定义他的目的地,我想将其用作状态机的状态


任何帮助

如果要编辑状态机,然后启动它的新实例,没有问题。在代码中添加所需的状态和转换,然后使用新的工作流定义启动新实例


如果你需要编辑已经运行的状态机的定义,你需要使用动态更新功能(在.NET 4.5中,目前处于Beta版)。

这里是@RonJacobs的一篇博文,他在这里创建了一个库的原型,可以更直接地实现这一点,你可能想看看

这是他写的一篇博客文章,他正在用代码创建一个工作流,状态机不会有太大的不同,它只会在根上利用不同的访问器

这里还有一个演示了如何从数据库加载工作流


我实际上不知道如何使用代码添加新状态?所有教程和示例都使用GI演示了这一点。我将不胜感激,如果你给我一个链接。我的所有状态都将在程序执行后定义(在运行时动态),因此我需要编写代码,例如在maus上单击将名为(x)的状态添加到我的状态机。可能吗?我在使用代码时遇到了一些问题,你能帮我吗?@AsmaaEdress当然,发生了什么事?我的问题是如何使用状态机?如何使用代码为某些操作或触发器定义工作流。我的意思是:我添加了一个状态1,当触发7时,它访问另一个非最终状态2。如果触发9,状态2也访问状态3(最终状态)。然后为了运行机器,我触发了触发器7,但是我如何控制状态机并告诉它触发触发器9呢?我不知道如何定义通过访问状态2触发9的入口操作。Thanx 4您的支持