我们已经在dotnet应用程序中实现了工作流程。 该应用程序被全世界许多用户使用。 尝试提交一个活动的用户,活动被提升到下一阶段。 该操作有时会起作用,有时会失败。 当我从URL访问产品网站时,我没有任何错误。
我检查了生产日志 出现以下错误。 1.工作流中的OnUnhandledException 9493fd6e-8b2f-4870-8202-6ad1b433d819 事务(进程ID 58)已与另一个进程在锁资源上死锁,因此已被选择为死锁受害者。重新运行事务。
2。错误发生在#5/28/2019 3:14:27 PM 工作流程4275a513-444a-4083-afb4-c83697bbc164已中止。 异常:System.Activities.WorkflowApplicationAbortedException 由于Load或LoadRunnableInstance操作引发异常,WorkflowApplication已中止。创建一个新的WorkflowApplication对象以尝试加载另一个工作流实例
我曾尝试从数据库解锁锁定的实例,但问题仍然存在。 另外,当我尝试从开发环境调试工作流代码时,我没有得到正确的工作流服务URL。
string ResumeWFID = WorkflowID.Trim(); 字符串CommandAction =命令;
string ResumeWorkflowURL = WorkflowServiceURL + "/" + Country + "/" + "ResumeWorkflow" + "/" + ResumeWFID + "/" + CommandAction;
string PostParams = "\"" + LoggedInEID + "@#" + Code + "@#" + Comments + "\"";
//Post with WebClient UploadData
byte[] postArray = Encoding.ASCII.GetBytes(PostParams);
_WorkflowClient.Headers.Add(System.Net.HttpRequestHeader.ContentType, "application/json");
byte[] responseBytes = _WorkflowClient.UploadData(ResumeWorkflowURL, postArray);
string ResumeSuccess = Encoding.UTF8.GetString(responseBytes);
if (bool.Parse(ResumeSuccess))
{
//Dummy delay to finish the state transition // temp fix
System.Threading.Thread.Sleep(WorkflowConstants.TimerDelay2);
}
else
{
return false;
}
//}
}
else
{
//Update the current state to Draft if there is no state updated before !
qmsDAL.UpdateDefaultWorkPacketStatus(WPID, LoggedInEID);
}
//Log the details to Workflow log for the current WP ID
// To be covered as part of WP Log Implementation
// Logging Thru Workflow or Application ?
return true;
}
catch (Exception ex)
{
Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
return false;
}
在行引发错误 byte [] responseBytes = _WorkflowClient.UploadData(ResumeWorkflowURL,postArray);
找不到生成的工作流程网址