Porada: Tworzenie przepływu pracy usługi przy użyciu działań dotyczących komunikatów
W tym temacie opisano sposób tworzenia prostej usługi przepływu pracy przy użyciu działań obsługi komunikatów. Ten temat koncentruje się na mechaniki tworzenia usługi przepływu pracy, w której usługa składa się wyłącznie z działań obsługi komunikatów. W rzeczywistej usłudze przepływ pracy zawiera wiele innych działań. Usługa implementuje jedną operację o nazwie Echo, która przyjmuje ciąg i zwraca ciąg do elementu wywołującego. Ten temat jest pierwszym w serii dwóch tematów. W następnym temacie How To: Access a Service From a Workflow Application (Jak uzyskać dostęp do usługi z poziomu aplikacji przepływu pracy) omówiono sposób tworzenia aplikacji przepływu pracy, która może wywoływać usługę utworzoną w tym temacie.
Aby utworzyć projekt usługi przepływu pracy
Uruchom program Visual Studio 2012.
Kliknij menu Plik, wybierz pozycję Nowy, a następnie pozycję Projekt, aby wyświetlić okno dialogowe Nowy projekt. Wybierz pozycję Przepływ pracy z listy zainstalowanych szablonów i aplikacji usługi przepływu pracy WCF z listy typów projektów. Nadaj projektowi
MyWFService
nazwę i użyj domyślnej lokalizacji, jak pokazano na poniższej ilustracji.Kliknij przycisk OK, aby zamknąć okno dialogowe Nowy projekt.
Po utworzeniu projektu plik Service1.xamlx zostanie otwarty w projektancie, jak pokazano na poniższej ilustracji.
Kliknij prawym przyciskiem myszy działanie z etykietą Usługa sekwencka i wybierz polecenie Usuń.
Aby zaimplementować usługę przepływu pracy
Wybierz kartę Przybornik po lewej stronie ekranu, aby wyświetlić przybornik, a następnie kliknij przycisk pushpin, aby zachować otwarte okno. Rozwiń sekcję Obsługa komunikatów w przyborniku, aby wyświetlić działania obsługi komunikatów i szablony działań obsługi komunikatów, jak pokazano na poniższej ilustracji.
Przeciągnij i upuść szablon ReceiveAndSendReply do projektanta przepływu pracy. Spowoduje to utworzenie Sequence działania z działaniem Odbieranie , po którym następuje SendReply działanie, jak pokazano na poniższej ilustracji.
Zwróć uwagę, że SendReply właściwość działania Request jest ustawiona na
Receive
, nazwę Receive działania, do którego SendReply odpowiada działanie.W typie działania w Receive polu tekstowym oznaczonym etykietą OperationName.
Echo
Definiuje nazwę operacji implementowania usługi.Po wybraniu Receive działania otwórz okno właściwości, jeśli nie jest jeszcze otwarte, klikając menu Widok i wybierając pozycję Okno właściwości. W oknie właściwości przewiń w dół do momentu wyświetlenia pozycji CanCreateInstance i kliknij pole wyboru, jak pokazano na poniższej ilustracji. To ustawienie umożliwia hostowi usługi przepływu pracy utworzenie nowego wystąpienia usługi (w razie potrzeby) po odebraniu komunikatu.
Sequence Wybierz działanie i kliknij przycisk Zmienne w lewym dolnym rogu projektanta. Spowoduje to wyświetlenie edytora zmiennych. Kliknij link Utwórz zmienną, aby dodać zmienną do przechowywania ciągu wysyłanego do operacji. Nadaj zmiennej
msg
nazwę i ustaw jej typ zmiennej na Ciąg, jak pokazano na poniższej ilustracji.Kliknij ponownie przycisk Zmienne, aby zamknąć edytor zmiennych.
Kliknij link Define.. w polu tekstowym Zawartość w Receive działaniu, aby wyświetlić okno dialogowe Definicja zawartości. Wybierz przycisk radiowy Parametry, kliknij link Dodaj nowy parametr, wpisz
inMsg
w polu tekstowym nazwa, wybierz pozycję Ciąg w polu listy rozwijanej Typ i wpiszmsg
w polu tekstowym Przypisz do, jak pokazano na poniższej ilustracji.Określa to, że działanie Odbieranie odbiera parametr ciągu i że dane są powiązane ze zmienną
msg
. Kliknij przycisk OK , aby zamknąć okno dialogowe Definicja zawartości.Kliknij link Definiuj ... w polu Zawartość w SendReply działaniu, aby wyświetlić okno dialogowe Definicja zawartości. Wybierz przycisk radiowy Parametry, kliknij link Dodaj nowy parametr, wpisz
outMsg
w polu tekstowym nazwa, wybierz pozycję Ciąg w polu listy rozwijanej Typ, amsg
następnie w polu tekstowym Wartość, jak pokazano na poniższej ilustracji.Określa to, że SendReply działanie wysyła typ kontraktu komunikatu lub komunikatu, a dane są powiązane ze zmienną
msg
. Ponieważ jest SendReply to działanie, oznacza to, że dane wmsg
pliku są używane do wypełniania komunikatu, który działanie wysyła z powrotem do klienta. Kliknij przycisk OK , aby zamknąć okno dialogowe Definicja zawartości.Zapisz i skompiluj rozwiązanie, klikając menu Kompilacja i wybierając pozycję Kompiluj rozwiązanie.
Konfigurowanie projektu usługi przepływu pracy
Usługa przepływu pracy została ukończona. W tej sekcji wyjaśniono, jak skonfigurować rozwiązanie usługi przepływu pracy, aby ułatwić hostowanie i uruchamianie. To rozwiązanie używa ASP.NET Development Server do hostowania usługi.
Aby skonfigurować opcje uruchamiania projektu
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję MyWFService i wybierz polecenie Właściwości, aby wyświetlić okno dialogowe Właściwości projektu.
Wybierz kartę Sieć Web i wybierz pozycję Określona strona w obszarze Akcja początkowa i wpisz
Service1.xamlx
w polu tekstowym, jak pokazano na poniższej ilustracji.Hostuje usługę zdefiniowaną w pliku Service1.xamlx na serwerze deweloperów ASP.NET.
Naciśnij klawisze Ctrl+F5 , aby uruchomić usługę. Ikona ASP.NET Development Server jest wyświetlana w prawym dolnym rogu pulpitu, jak pokazano na poniższej ilustracji.
Ponadto w przeglądarce zostanie wyświetlona strona pomocy usługi WCF dla usługi.
Przejdź do tematu Instrukcje: uzyskiwanie dostępu do usługi z poziomu aplikacji przepływu pracy, aby utworzyć klienta przepływu pracy, który wywołuje tę usługę.