Как создать службу рабочего процесса, которая использует существующий контракт службы
платформа .NET Framework 4.5 улучшена интеграция между веб-службами и рабочими процессами в виде разработки рабочих процессов на основе контракта. Средство разработки рабочих процессов на основе контракта позволяет создать контракт в Code First. Затем это средство автоматически создает в области элементов шаблон действия для каждой операции в контракте.
Примечание.
Этот раздел содержит пошаговые инструкции по созданию службы рабочих процессов на основе контракта. Дополнительные сведения о разработке службы рабочих процессов для первого контракта см. в разделе "Разработка службы первого рабочего процесса контракта".
Создание проекта рабочего процесса
В Visual Studio выберите последовательно Файл и Создать проект. Выберите узел WCF под узлом C# в дереве шаблонов и выберите шаблон приложения службы рабочих процессов WCF.
Назовите новый проект
ContractFirst
и нажмите кнопку "ОК".
Создание контракта службы
Щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Добавить", "Создать элемент".. Выберите узел кода слева и шаблон класса справа. Назовите новый класс
IBookService
и нажмите кнопку "ОК".В верхней части появиющегося окна кода добавьте директиву
using
System.ServiceModel
в .using System.ServiceModel;
Измените образец определения класса на следующее определение интерфейса.
[ServiceContract] public interface IBookService { [OperationContract] void Buy(string bookName); [OperationContract(IsOneWay=true)] void Checkout(); }
Создайте проект, нажав клавиши CTRL+SHIFT+B.
Импорт контракта службы
Щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Импорт контракта службы". В разделе "Текущий проект"> откройте все вложенные узлы и выберите IBookService.< Щелкните OK.
Откроется диалоговое окно с сообщением, что операция была завершена успешно, а созданные действия появятся в области элементов после сборки проекта. Щелкните OK.
Создайте проект, нажав клавиши CTRL+SHIFT+B, чтобы импортированные действия отображались на панели элементов.
В Обозреватель решений откройте Service1.xamlx. Служба рабочего процесса появится в конструкторе.
Выберите действие "Последовательность". В окно свойств нажмите кнопку ... в свойстве ImplementedContract. В появившемся окне редактора коллекции типов щелкните раскрывающийся список "Тип" и выберите запись "Обзор типов". В диалоговом окне "Обзор и выбор типа .NET" в разделе< "Текущий проект>" откройте все вложенные узлы и выберите IBookService. Щелкните OK. В диалоговом окне редактора коллекции типов нажмите кнопку "ОК".
Выберите и удалите действия ReceiveRequest и SendResponse .
На панели элементов перетащите Buy_ReceiveAndSendReply и действие Checkout_Receive в действие последовательной службы.