【发布时间】:2017-02-03 13:51:29
【问题描述】:
我正在为工作开发一个 WF4.5 服务,它在工作流中使用延迟活动。工作流托管在 AppFabric 中(在 Visual Studio 中进行本地测试)。我在服务中有我的 web.config 设置,并且 AppFabric 设置为使用自定义配置。这是工作流相关部分的图片:
从图像中得到的要点是延迟之前的活动(确定通信)确实运行,并且我有可验证的证据。我也知道延迟活动后的 UpdateRejectionInfo 不会运行(在运行工作流时使用自定义活动中的断点进行验证)。
我尝试在DetermineCommunication 活动和延迟活动之间添加一个持久活动,它确实保存到我正在查找的数据库中,所以我知道该服务具有对数据库的写入权限。
这里也是服务的 web.config 的行为部分:
<behaviors>
<serviceBehaviors>
<behavior>
<sqlWorkflowInstanceStore
connectionString="SERVER=hq-sql02\oculusdev;Database=EAA;Trusted_Connection=yes"
hostLockRenewalPeriod="00:00:30"
runnableInstancesDetectionPeriod="00:00:30"
instanceCompletionAction="DeleteNothing"
instanceLockedExceptionAction="AggressiveRetry"
instanceEncodingOption="GZip"/>
<workflowIdle timeToPersist="00:00:20" timeToUnload="00:00:30"/>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
任何形式的帮助都会令人惊叹。
【问题讨论】:
标签: c# .net persistence delay workflow-foundation-4