工作流基础活动操作与进程内通信详解
1. 异常处理与活动操作
在工作流开发中,异常处理是一个重要的环节。当使用Throw活动时,如果WorkflowException属性为null,则会抛出一个新的System.Exception实例;否则,将抛出WorkflowException中包含的异常。
通过FaultHandler活动,我们能够处理异常并采取相应的操作。不过,在这个层面抛出和处理异常会导致工作流实例基本停止。其优势在于工作流可以自行处理异常,而不是将其抛给工作流运行时处理。如果希望在特定异常抛出后继续处理(即可以恢复的异常),不建议使用Throw和FaultHandler活动,而是在活动代码中使用try/catch块,避免异常泄露到运行时。若无法在内部充分处理异常,则可以使用Throw和FaultHandler。
2. 使用 Suspend 活动
Suspend活动在某些情况下非常有用。常见的使用场景是先使用FaultHandler处理错误,然后使用Suspend活动暂停工作流,以表明需要人工干预。
使用Suspend活动时,需