我正在使用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
任何关于此的帮助/指示都会有所帮助。
答案 0 :(得分:0)
我不相信重试次数可以改变。它将连续尝试3次,然后在重试之间等待直到它达到20次。它会在计算重试次数时使用连接字符串超时。
即使重试20次,您是否看到了失败?您的工作流是托管在WCF中还是您手动调用它?
答案 1 :(得分:0)
感谢。为了测试这个,我在代码中放了一个除零错误,它重试20次然后通过,但是在20次重试之前我得到了网络超时异常。
我正在使用调用工作流程的.net 2.0 webservices。
我们可以在工作流代码中覆盖类DefaultWorkflowCommitWorkBatchService的CommitWorkBatch方法吗?
答案 2 :(得分:0)
我找到了解决方法。我们可以通过编写自定义workflowcommitworkbatch服务类来控制计数,并将其添加到web.config服务部分。你可以写自己的逻辑! - 刚刚编辑用户1722059