首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

关于亮剑中复合任务活动中的TaskCreating和TaskCompleted解决方案

2012-04-03 
关于亮剑中复合任务活动中的TaskCreating和TaskCompleted在《亮剑.NET:SharePoint Server2007开发实战》的7.

关于亮剑中复合任务活动中的TaskCreating和TaskCompleted
在《亮剑.NET:SharePoint Server2007开发实战》的7.4.9 复合任务活动和多步审批流程(1)中,声明了TaskCreating和TaskCompleted两个事件,然后在方法中分别有如下代码:
if (TaskCreating != null) //触发事件
TaskCreating(this, new TaskEventArgs(this.TaskProperties));
if (TaskCompleted != null) //触发任务完成后事件
TaskCompleted(this, new TaskEventArgs(this.TaskProperties));

由于我的工作流得不到表单数据,通过调试发现,程序中的TaskCreating和TaskCompleted始终为null,所以下面的语句根本执行不到。
请教各位高手,TaskCreating和TaskCompleted为null的原因是什么?是我漏写了什么代码或者哪个地方没设置好吗?
谢谢。

[解决办法]
我觉得你的事件代码有问题。
if (TaskCreating != null) //触发事件
TaskCreating(this, new TaskEventArgs(this.TaskProperties));
代码是放在createTask1_MethodInvoking事件中

if (TaskCompleted != null) //触发任务完成后事件
TaskCompleted(this, new TaskEventArgs(this.TaskProperties));
放在codeActivity_ExecuteCode事件中的

还有检查一下属性设置什么的,以及Task是否实例化了等。


[解决办法]

探讨
我觉得你的事件代码有问题。
if (TaskCreating != null) //触发事件
TaskCreating(this, new TaskEventArgs(this.TaskProperties));
代码是放在createTask1_MethodInvoking事件中

if (TaskCompleted != null) //触发任务完成后事件
TaskComplete……

[解决办法]
1)TaskCreating事件是怎么附加的呢? 是直接通过Task的属性面板设置还是通过代码附加事件?
最好通过属性面板设置
2)把断点放到 createTask1_MethodInvoking 调试看看。
3)看看书中自带的例子有没有问题,比较下代码差别。

热点排行