日期:2014-05-20  浏览次数:20972 次

WF 关于动态加载复杂状态机工作流的问题!
各位大侠:

  我用的是wf3.5(Windows Workflow foundition)

  创建状态机工作流的时候希望动态加载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:复杂的



看在我辛苦截图的份上,请高手指点指点吧,是不是我这种方式不可取。还请明示!谢谢了!

MSN:bbaibb_1009@msn.cn

mail: dingjie@cnggg.cn


------解决方案--------------------
就没人回帖吗!
------解决方案--------------------
该回复于2010-11-24 14:06:18被版主删除
------解决方案--------------------
你这个上来就是贴代码,捏复杂了吧!
------解决方案--------------------
不明白你的意思?问题是你现在说这句话 ,已经对我没什么用了 
一位我已经不搞他了

------解决方案--------------------
引用:
你这个上来就是贴代码,捏复杂了吧!

不明白你的意思?问题是你现在说这句话 ,已经对我没什么用了  
一位我已经不搞他了