![]() |
1
0
该页面显示了WorkflowRuntime工厂的一些代码,我将在下面介绍这些代码,我相信这些代码最初是从WindowsWorkflowFoundation一步一步的书中获得的
编辑: 好的,对不起。您可以尝试检查实例是否是您期望的实例,如果不是,则返回。请注意,这段代码是未经测试的,只是试图让大家了解这个想法。
|
![]() |
2
0
我能想到的提高代码速度的最简单的方法是将WorkflowRuntime实例中的ValidateOnCreate属性设置为false。默认情况下,它设置为true,这意味着每次创建工作流实例时。我假设您的工作流是静态的,因为您没有在运行时对它进行动态更改,而是在编译时定义了它。如果是这种情况,您应该能够跳过验证步骤。根据您的工作流程有多复杂,这可能会显著提高代码的速度。 假设这并不能提高足够的速度,其他建议如下。使ApprovalWorkflowRunner类的Execute方法实例中使用的WaitHandle、Request和Workflow对象成为成员。WorkflowRuntime将是Execute方法的一个参数。在执行此操作时,您应该在每次希望运行ApprovalFlow工作流时创建ApprovalWorkflowRunner类的新实例。然后,您的Execute方法应该如下所示:
请注意,我已经将处理程序中的两行从代码中的方式切换过来,设置了等待句柄 分配请求实例将创建竞争条件。 最后一点注意:对WorkflowRuntime实例调用Dispose方法显然必须在代码的其他地方进行;但是Microsoft建议在调用Dispose之前调用StopRuntime方法: Remarks: shut down the WorkflowRuntime gracefully
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |