Кто-нибудь может дать хороший урок по WWF?[закрыто]

StackOverflow https://stackoverflow.com/questions/177121

  •  05-07-2019
  •  | 
  •  

Вопрос

В частности, меня интересуют:1) Вставание с Бесплатно настройка среды для выполнения рабочих процессов.2) Как использовать существующие элементы / состояния рабочего процесса и что с этим связано.

Спасибо!

Это было полезно?

Решение

Вы ищете виртуальную лабораторию, подобную этой, из MSDN?

Для получения некоторых инструкций попробуйте загрузить Практические лаборатории для Windows Workflow Foundation

Другие советы

Другие ответы хороши, но я думаю, что людям важно понять, зачем вообще использовать workflow.Многие люди используют WF, когда в этом нет необходимости, а третьи отказываются использовать, когда их вариант использования наиболее идеален для использования WF.

Лучшее объяснение, которое я когда-либо читал о том, когда и нужно ли использовать WF, - это объяснение Дейва Грина запись в блоге.Он был архитектором первой версии Windows Workflow Foundation.

Я вставлю это сюда для потомков:


Что такое рабочий процесс и зачем беспокоиться?

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

Рабочий процесс сводится всего к двум идеям:что есть работа, которую нужно выполнить, которую рабочий процесс рассматривает как непрозрачные единицы поведения;и поток, который описывает, какая работа выполняется, когда.

Итак, это Рабочий процесс?

public void HandleLoanRequest (string customerID, Application app)
{
    if (CheckCredit(customerId, app.Amount))
    {
        MakeOffer (customerId, app);
    }
}

Да, я верю, что это так.Работа заключается в проверке кредитоспособности клиента и составлении предложения – и HandleLoanRequest определяет, будет ли выполнена эта работа и когда.

Но тот факт, что поставщики рабочих процессов традиционно считали, что перед объявлением о победе требуется нечто большее, чем такой код, говорит о том, что нам все еще не хватает ключевого понятия.

Я полагаю, это означает, что нам не просто нужно описать поток, но описать его таким образом, чтобы мы могли проверять, рассуждать и манипулировать.Короче говоря, рабочему процессу нужна модель.

C # - один из способов сделать это - мы можем определить стандарты кодирования, которые позволяют нам сканировать код рабочего процесса и рисовать график потока, например.Или мы могли бы определить атрибуты, которые разработчик мог бы использовать для вызова частей своего кода, формирующих модель.Это не тот выбор, который мы сделали для Windows Workflow Foundation – и я расскажу о том, почему мы выбрали то, что сделали в последующих сообщениях, – но это сработало бы.

Но вернемся к тому, зачем нам может понадобиться модель.Нам придется приложить усилия, чтобы создать его, так зачем беспокоиться?Где же расплата?(или говядина, как учится называть ее этот англичанин за границей).

Что ж, я думаю, что окупаемость зависит от того, что позволяет модель -

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

Выразительность Модель рабочего процесса - это специфичный для предметной области язык, специализированный для поддержки характерных проблем.Примером может служить процесс рецензирования, в котором три положительных голоса из пяти рецензий означают, что документ хорош, и любые невыполненные рецензии могут быть отменены.Это немного утомительно для кода, но Windows Workflow Foundation включает готовые конструкции, которые решают такие проблемы.

Исполнение Среда выполнения может использовать модель, чтобы избавить от необходимости решать одни и те же проблемы снова и снова.В Windows Workflow Foundation мы встроили поддержку сложных проблем длительного рабочего процесса, таких как управление состоянием и компенсация, управляемых простыми, выразительными элементами модели.

Мониторинг Существование модели позволяет создавать поток событий со значимой семантикой без каких-либо дополнительных усилий разработчика.Затем это можно использовать для мониторинга экземпляров рабочих процессов или агрегатов.Windows Workflow Foundation позволяет также декларативно оформлять события данными приложения, извлеченными из состояния рабочего процесса, чтобы вы могли сказать, что проверка кредитоспособности началась для заказа 14532.

Трансформация Модели порождают модели.Примером может служить преобразование модели рабочего процесса в Шаблон обмена сообщениями, необходимый для взаимодействия с ним, что Дхарма и Дон так прекрасно продемонстрировали на PDC.Другой - это кастомизация.ISV отправляет рабочий процесс, который настраивается VAR, а затем снова клиентом.Затем ISV поставляет новую базовую версию.Использование общей, хорошо понятной модели для рабочего процесса делает последующие 3-сторонние слияния гораздо более сговорчивыми.

Состав Если приложение учитывается в потоке и работе, то элементарные элементы работы с их хорошо понятными интерфейсами могут быть повторно использованы другими рабочими процессами.Сами рабочие процессы являются допустимыми определениями работы, которые также могут быть использованы другими рабочими процессами.

Настройка на заказ и совместная трансформация создают экосистемы, в которых определения работы и потока становятся общими или предметом торговли.

Манипуляция Часто возникают требования изобретать или изменять рабочие процессы "на лету".Если это означает изменение кода, то у специалистов по безопасности возникнут проблемы – даже если пользователи поймут, как его взломать.Использование модели делает возможным динамическое манипулирование, которое является одновременно управляемым и понятным.Windows Workflow Foundation поддерживает динамическое изменение как типов рабочих процессов, так и экземпляров рабочих процессов.

Вот и все (или, по крайней мере, все, что приходит мне на ум в этот субботний день).Вот почему мы подумали, что модель - это хорошая идея, и почему мы считаем, что у нее отличная окупаемость инвестиций.Но если ни одно из этих преимуществ не применимо в вашем сценарии, то на самом деле кодирование по-прежнему очень круто.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top