Udostępnij za pośrednictwem


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

  1. Uruchom program Visual Studio 2012.

  2. 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.

  3. Po utworzeniu projektu plik Service1.xamlx zostanie otwarty w projektancie, jak pokazano na poniższej ilustracji.

    Screenshot shows the open Service1.xamlx file in the designer.

    Kliknij prawym przyciskiem myszy działanie z etykietą Usługa sekwencka i wybierz polecenie Usuń.

Aby zaimplementować usługę przepływu pracy

  1. 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.

    Screenshot that shows the toolbox with Messaging section expanded.

  2. 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.

    Screenshot that shows the ReceiveAndSendReply template.

    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.

  3. W typie działania w Receive polu tekstowym oznaczonym etykietą OperationName.Echo Definiuje nazwę operacji implementowania usługi.

    Screenshot that shows where to specify the operation name.

  4. 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.

    Screenshot that shows the CanCreateInstance property.

  5. 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.

    Screenshot that shows how to add a variable.

    Kliknij ponownie przycisk Zmienne, aby zamknąć edytor zmiennych.

  6. 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 wpisz msg w polu tekstowym Przypisz do, jak pokazano na poniższej ilustracji.

    Screenshot that shows adding Parameters content.

    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.

  7. 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, a msg następnie w polu tekstowym Wartość, jak pokazano na poniższej ilustracji.

    Screenshot that shows how to add the outMsg parameter.

    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 w msg 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.

  8. 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

  1. 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.

  2. 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.

    Screenshot that shows the project properties dialog.

    Hostuje usługę zdefiniowaną w pliku Service1.xamlx na serwerze deweloperów ASP.NET.

  3. 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.

    Screenshot that shows the ASP.NET Developer Server icon.

    Ponadto w przeglądarce zostanie wyświetlona strona pomocy usługi WCF dla usługi.

    Screenshot that shows the WCF Service Help Page.

  4. 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ę.

Zobacz też