查询工作流重试次数

时间:2016-01-18 15:40:57

标签: c# .net workflow

我正在使用DefaultWorkflowCommitWorkBatchService,有时工作流不会保留在数据库中。这是一个未知的错误,我试图通过记录找到它。

另一方面,我知道我们可以使用EnableRetries属性重新尝试工作流程。

我的问题:

根据msdn,计数固定/硬编码为20! 。我需要知道我们是否可以以某种方式配置此计数器,因为20太多并且由于应用程序设计而导致Web超时异常。

链接:

https://msdn.microsoft.com/library/ms732240(v=vs.90).aspx

https://msdn.microsoft.com/en-us/library/ms735941(v=vs.90).aspx

任何关于此的帮助/指示都会有所帮助。

3 个答案:

答案 0 :(得分:0)

我不相信重试次数可以改变。它将连续尝试3次,然后在重试之间等待直到它达到20次。它会在计算重试次数时使用连接字符串超时。

即使重试20次,您是否看到了失败?您的工作流是托管在WCF中还是您手动调用它?

答案 1 :(得分:0)

感谢。为了测试这个,我在代码中放了一个除零错误,它重试20次然后通过,但是在20次重试之前我得到了网络超时异常。

我正在使用调用工作流程的.net 2.0 webservices。

我们可以在工作流代码中覆盖类DefaultWorkflowCommitWorkBatchService的CommitWorkBatch方法吗?

答案 2 :(得分:0)

我找到了解决方法。我们可以通过编写自定义workflowcommitworkbatch服务类来控制计数,并将其添加到web.config服务部分。你可以写自己的逻辑! - 刚刚编辑用户1722059