各位大侠:
我用的是wf3.5
创建状态机工作流的时候希望动态加载XOML并启动工作流,工作流文件如图:
上图是一个请假流程,用到了两个EventDriven活动,活动里面的情况是这样的:
这是其中一个EventDriven活动另一个比这个简单,没有IfElse分支,我加入IFElse分支的原因是:
同时提供workflowDefinitionReader和Dictionary<string, object> namedArgumentValues的函数中够必须加入rulesReader参数。如:
public WorkflowInstance CreateWorkflow(XmlReader workflowDefinitionReader, XmlReader rulesReader, Dictionary<string, object> namedArgumentValues);
public WorkflowInstance CreateWorkflow(XmlReader workflowDefinitionReader, XmlReader rulesReader, Dictionary<string, object> namedArgumentValues, Guid instanceId);
里面的自定义活动需要接受外部参数,如上图:
工作流文件里面有我自定义的类对象:
上面图下方的两个函数是我为两个HandleEvnet定义的接受外部参数的函数,工作流的调用我采用控制台作为宿主,调用的主要代码为:
但是调用函数是出错了:
提示验证失败!
但是我在加入外部参数传递之前的工作流是可以运行的,如图(简单结构的状态机工作流):
两种工作流的XOML文件分别为:
1:简单的
2:复杂的
看在我辛苦截图的份上,请高手指点指点吧,是不是我这种方式不可取。还请明示!谢谢了!
图片不能显示,麻烦上传一下图片。