Как определить несколько действий получения в одной службе рабочего процесса (WF4) - PullRequest
4 голосов
/ 01 марта 2010

У меня есть служба рабочего процесса (определенно определенная в файле .xamlx), которая в настоящее время содержит одно действие Recieve. Как вы, возможно, знаете, службы обычно предоставляют более одной операции. И это то, что я хотел бы сделать со своим сервисом тоже. Как мне добавить больше операций к этому сервису? Без WF это действительно легко. Просто добавьте столько методов, сколько пожелаете, и украсьте их с помощью OperationContract. Затем клиент может вызвать любую из операций, которые предлагает сервис. С другой стороны, в WF4, когда я пытаюсь добавить другое действие Recieve к сервису, я могу добавить его только до или после существующей активности. Я думал, что мог бы использовать действие Pick, чтобы достигнуть этого, но я просто предполагаю. Это как я это делаю? Или я должен добавить другую службу рабочего процесса и добавить к ней действие получения? (совсем не похоже на хорошее решение). Или, возможно, есть верный способ сделать это?

P.S Как вы можете сказать, я совершенно новичок в WF в целом и WF4 в частности.

Спасибо, Avi

1 Ответ

11 голосов
/ 02 марта 2010

Наличие одного действия «Получение» в начале рабочего процесса не является редкостью, ведь обычно существует одно событие, которое запускает рабочий процесс. И после запуска он может ждать поступления других сообщений. Однако нет причин не слушать рабочий процесс для нескольких разных одновременно, и, как вы упомянули, операция Pick - это путь. Просто поместите Pick на поверхность конструктора, добавьте столько PickBrache с действиями Receive, сколько захотите, и все готово.

...