Прерывистая проблема в рабочем процессе - PullRequest
0 голосов
/ 29 мая 2019

Мы реализовали рабочий процесс в приложении dotnet.Приложение используется многими пользователями по всему миру.пользователь пытается отправить одно действие, и действие переводится на следующий этап.Это действие иногда работает, а иногда терпит неудачу.когда я захожу на сайт prod с URL, я не получаю никакой ошибки.

Я проверил журналы на производстве, получая следующие ошибки.1.OnUnhandledException в рабочем процессе 9493fd6e-8b2f-4870-8202-6ad1b433d819 Транзакция (идентификатор процесса 58) была заблокирована для ресурсов блокировки с другим процессом и была выбрана в качестве жертвы тупика.Повторите транзакцию.

2.Ошибка произошла в # 5/28/2019 15:14:27 Рабочий процесс 4275a513-444a-4083-afb4-c83697bbc164 Прервано.Исключение: System.Activities.WorkflowApplicationAbortedException WorkflowApplication был прерван, поскольку операция Load или LoadRunnableInstance вызвала исключение.Создайте новый объект WorkflowApplication, чтобы попытаться загрузить другой экземпляр рабочего процесса

Я попытался разблокировать заблокированный экземпляр из БД, но проблема все еще сохраняется.Также, когда я пытаюсь отладить код рабочего процесса из среды разработки, я не получаю правильный URL-адрес службы рабочего процесса.

string ResumeWFID = WorkflowID.Trim ();string CommandAction = command;

                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;
        }

ошибка, выданная в байте строки [] responseBytes = _WorkflowClient.UploadData (ResumeWorkflowURL, postArray);

Сгенерированный URL-адрес рабочего процесса не найден

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...