今天向领导演示近期工作成果,结果领导还是比较满意的,毕竟我们团队最近付出了不少努力。但是美中不足的是我负责的工作流模块又出糗了~。昨晚还加班测试过其稳定性。看来有错误那么该来还是要来的。
问题出在点击按钮时,明明触发了工作流定义中某状态能够接收的事件,照常理工作流状态应该向前走。然而不听话的实例原地不动。点击多少次都没有用。百思不得其解,纳闷中想起前几次也出现过类似问题,记得只是刷新了以便工作流生成的表,结果试试问题真的解决了,可犯罪证据也没有了
再次排查,只是感觉问题可能出现在Idled事件的TryUnload方法中,TryUnload方法返回bool类型,一般只有正确持久化并且卸载工作流实例之后(TryUnload方法触发事件WorkflowUnloadEvent),该方法才能返回true,如果工作流在调用TryUnload方法的时候工作流实例已经完成那么将返回false
The TryUnload method only persists and unloads the workflow if the workflow instance is idled. It returns false if the workflow is running. Unload will unload a running workflow when the currently executing activity completes unless the