Я новичок в WorkFlow 4 (WF 4), у меня возникла серьезная проблема с использованием его в MVC 3, я не смог найти ответ в Интернете.
Мне нужно показать всплывающее сообщениеесли в workFlow произошло исключение или что-либо, возвращенное в аргументах outpput, у меня есть страница, которую пользователь должен отредактировать, и в конце он нажмет кнопку «Сохранить».
При нажатии кнопки «Сохранить» форма будет отправленаКонтроллер и запустить рабочий процесс, когда рабочий процесс завершен, я получил вывод, объясняющий, если обновление данных через рабочий процесс прошло успешно или нет, тогда мне нужно показать это состояние по завершенному действию, но я не могу, так как я запускаю его асинхронно, что означаетметод вернется к пользователю, и параллельно рабочий процесс вызывает событие.
Вот мой код в контроллере:
[HttpPost()]
public ActionResult SaveVehicles(vehiclesData model) {
Services.VehiclesDataUpdate vehiclesDataUpdate = new Services.VehiclesDataUpdate(this.SessionData.DealerLotKey, null, null);
IDictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("VehiclesDataUpdate", vehiclesDataUpdate);
parameters.Add("UnionVehicles", unionVehicles);
parameters.Add("SolrVehicles", solrVehicles);
IDictionary<string, object> outputs = new Dictionary<string, object>();
AutoResetEvent syncEvent = new AutoResetEvent(false);
WorkflowApplication wfApp = new WorkflowApplication(new VehiclesUpdate(), parameters);
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e) {
outputs = e.Outputs;
syncEvent.Set();
if (!errorExceptions.IsNullOrEmpty()) {
//TODO: Render a parital view to display an error message or the result of the workflow in the ouptput
//TODO: Logging.
}
};
wfApp.Aborted = delegate(WorkflowApplicationAbortedEventArgs e) {
syncEvent.Set();
};
wfApp.Run();
return View(model);
}
Как я могу отправить что-то обратно пользователю, когдазавершение рабочего процесса?
Заранее спасибо.