/ / Как мога да получа WorkflowInstanceId при внедряването на услуга ExternalDataExchange? - .net, основа на работния поток

Как мога да получа WorkflowInstanceId при внедряването на услуга ExternalDataExchange? - .net, основа на работния поток

Изграждам приложение за управление на служителите "искания, като Windows Workflow Foundation обработва основната логика. Искам да разработя прост работен процес, който ще започне, когато се създаде заявка, и изпълнява задачи въз основа на това дали заявката е одобрена или отхвърлена.

След като заявката бъде създадена, работният поток изпращаизлизане от известия и след това спира изпълнението, чакащо да бъде взето решение (чрез дейността HandleExternalEvent). Имам клас на услугата, наречен RequestDecisionMonitor, който изпълнява IRequestDecisionMonitor, който е маркиран с [ExternalDataExchange] и повдига събитие, което съдържа ExternalDataEventArgs.

Услугата просто проверява базата данни на наборинтервал, проверка дали дадена заявка е одобрена или отхвърлена след последната проверка. Ако те имат, то трябва да повдигне събитието, което след това реактивира работния процес.

Проблемът ми е, когато повдигнах събитиетотрябва да премине на индекса на работния поток, така че времето за изпълнение да открие кой работен поток се нуждае от активиране. Не знам обаче какво е ИД, тъй като не се съхранява никъде.

Трябва ли да запазя идентификационния номер на работния поток в базата данни с линк към заявката за почивка? Мога да го направя, но тези проблеми ме карат да мисля, че може би целият ми подход към това не е наред.

Всеки съвет от гуверньорите на WF ще бъде оценен.

Отговори:

0 за отговор № 1

Използване на WorkflowEnvironment.WorkflowInstance Ако можете да получите инстанцията, когато активността ви се обади в услугата. Запазете го или го изпратете заедно със заявката и можете да я използвате по-късно, за да повишите събитието за работния процес.