Instrukcje: Uzyskiwanie dostępu do usługi z poziomu aplikacji przepływu pracy
W tym temacie opisano sposób wywoływania usługi przepływu pracy z poziomu aplikacji konsolowej przepływu pracy. Zależy to od ukończenia tematu Instrukcje: tworzenie usługi przepływu pracy z działaniami obsługi komunikatów. Mimo że w tym temacie opisano sposób wywoływania usługi przepływu pracy z aplikacji przepływu pracy, te same metody mogą służyć do wywoływania dowolnej usługi Windows Communication Foundation (WCF) z aplikacji przepływu pracy.
Tworzenie projektu aplikacji konsoli przepływu pracy
Uruchom program Visual Studio 2012.
Załaduj projekt MyWFService utworzony w temacie How to: Create a Workflow Service with Messaging Activities (Jak utworzyć usługę przepływu pracy z działaniami obsługi komunikatów).
Kliknij prawym przyciskiem myszy rozwiązanie MyWFService w Eksplorator rozwiązań i wybierz pozycję Dodaj, Nowy projekt. Wybierz pozycję Przepływ pracy na liście zainstalowanych szablonów i aplikacji konsoli przepływu pracy. Nadaj projektowi nazwę MyWFClient i użyj lokalizacji domyślnej, jak pokazano na poniższej ilustracji.
Kliknij przycisk OK, aby zamknąć okno dialogowe Dodawanie nowego projektu.
Po utworzeniu projektu w projektancie zostanie otwarty plik Workflow1.xaml. Kliknij kartę Przybornik, aby otworzyć przybornik, jeśli nie został jeszcze otwarty, a następnie kliknij przycisk pushpin, aby pozostawić otwarte okno przybornika.
Naciśnij klawisze Ctrl+F5, aby skompilować i uruchomić usługę. Tak jak poprzednio, zostanie uruchomiony ASP.NET Development Server, a w przeglądarce zostanie wyświetlona strona pomocy programu WCF. Zwróć uwagę na identyfikator URI tej strony, ponieważ należy go użyć w następnym kroku.
Kliknij prawym przyciskiem myszy projekt MyWFClient w Eksplorator rozwiązań i wybierz pozycję Dodaj>odwołanie do usługi. Kliknij przycisk Odnajdź, aby wyszukać bieżące rozwiązanie dla dowolnych usług. Kliknij trójkąt obok pozycji Service1.xamlx na liście Usługi. Kliknij trójkąt obok pozycji Service1, aby wyświetlić listę kontraktów wdrożonych przez usługę Service1. Rozwiń węzeł Service1 na liście Usługi. Operacja echo jest wyświetlana na liście Operacje , jak pokazano na poniższej ilustracji.
Zachowaj domyślną przestrzeń nazw i kliknij przycisk OK , aby zamknąć okno dialogowe Dodawanie odwołania do usługi. Zostanie wyświetlone następujące okno dialogowe.
Kliknij przycisk OK , aby zamknąć okno dialogowe. Następnie naciśnij klawisze CTRL+SHIFT+B, aby skompilować rozwiązanie. Zwróć uwagę, że w przyborniku dodano nową sekcję o nazwie MyWFClient.ServiceReference1.Activities. Rozwiń tę sekcję i zwróć uwagę na działanie Echo, które zostało dodane, jak pokazano na poniższej ilustracji.
Przeciągnij i upuść Sequence działanie na powierzchnię projektanta. Znajduje się on w sekcji Przepływ sterowania przybornika.
Po fokusie Sequence działania kliknij link Zmienne i dodaj zmienną ciągu o nazwie
inString
. Nadaj zmiennej wartość"Hello, world"
domyślną oraz zmienną ciągu o nazwieoutString
, jak pokazano na poniższym diagramie.Przeciągnij i upuść działanie Echo do elementu Sequence. W oknie właściwości powiąż
inMsg
argument zeinString
zmienną i argumentoutString
zeoutMsg
zmienną, jak pokazano na poniższej ilustracji. Spowoduje to przekazanie wartościinString
zmiennej do operacji, a następnie przyjmuje wartość zwracaną i umieszcza ją w zmiennejoutString
.Przeciągnij i upuść działanie WriteLine poniżej działania Echo , aby wyświetlić ciąg zwrócony przez wywołanie usługi. Działanie WriteLine znajduje się w węźle Pierwotne w przyborniku. Powiąż argument Text działania WriteLine ze zmienną
outString
, wpisującoutString
w polu tekstowym działanie WriteLine. Przepływ pracy powinien teraz wyglądać podobnie do poniższej ilustracji.Kliknij prawym przyciskiem myszy rozwiązanie MyWFService i wybierz polecenie Ustaw projekty startowe. Wybierz przycisk radiowy Wiele projektów startowych i wybierz pozycję Rozpocznij dla każdego projektu w kolumnie Akcja, jak pokazano na poniższej ilustracji.
Naciśnij klawisze Ctrl+F5 , aby uruchomić zarówno usługę, jak i klienta. ASP.NET Development Server hostuje usługę, przeglądarka wyświetla stronę pomocy programu WCF, a aplikacja przepływu pracy klienta jest uruchamiana w oknie konsoli i wyświetla ciąg zwrócony z usługi ("Hello, world").