Postupy: Přístup ke službě z aplikace pracovního postupu
Toto téma popisuje, jak volat službu pracovního postupu z konzolové aplikace pracovního postupu. Závisí na dokončení tématu Postupy: Vytvoření služby pracovního postupu s tématem Aktivit zasílání zpráv. I když toto téma popisuje, jak volat službu pracovního postupu z aplikace pracovního postupu, lze stejné metody použít k volání jakékoli služby Windows Communication Foundation (WCF) z aplikace pracovního postupu.
Vytvoření projektu konzolové aplikace pracovního postupu
Spusťte Visual Studio 2012.
Načtěte projekt MyWFService, který jste vytvořili v tématu Postupy: Vytvoření služby pracovního postupu s tématem Aktivit zasílání zpráv.
Pravým tlačítkem myši klikněte na řešení MyWFService v Průzkumník řešení a vyberte Přidat nový projekt. V seznamu typů projektů vyberte v nainstalovaných šablonách a konzolové aplikaci pracovního postupu pracovní postup. Pojmenujte projekt MyWFClient a použijte výchozí umístění, jak je znázorněno na následujícím obrázku.
Kliknutím na tlačítko OK zavřete dialogové okno Přidat nový projekt.
Po vytvoření projektu se v návrháři otevře soubor Workflow1.xaml. Kliknutím na kartu Sada nástrojů otevřete panel nástrojů , pokud ještě není otevřený, a kliknutím na připínák nechte okno panelu nástrojů otevřené.
Stisknutím kláves Ctrl+F5 sestavte a spusťte službu. Stejně jako předtím se spustí vývojový server ASP.NET a prohlížeč zobrazí stránku nápovědy WCF. Všimněte si identifikátoru URI této stránky, protože ho musíte použít v dalším kroku.
Pravým tlačítkem myši klikněte na projekt MyWFClient v Průzkumník řešení a vyberte Přidat>odkaz na službu. Kliknutím na tlačítko Zjistit vyhledejte aktuální řešení pro všechny služby. V seznamu Služeb klikněte na trojúhelník vedle položky Service1.xamlx. Kliknutím na trojúhelník vedle service1 zobrazíte seznam kontraktů implementovaných službou Service1. Rozbalte uzel Service1 v seznamu Služeb. Operace Echo se zobrazí v seznamu operací , jak je znázorněno na následujícím obrázku.
Ponechte výchozí obor názvů a kliknutím na tlačítko OK zavřete dialogové okno Přidat odkaz na službu. Zobrazí se následující dialogové okno.
Kliknutím na TLAČÍTKO OK zavřete dialogové okno. Dále stisknutím kombinace kláves CTRL+SHIFT+B sestavte řešení. Všimněte si, že v sadě nástrojů byla přidána nová část s názvem MyWFClient.ServiceReference1.Activities. Rozbalte tuto část a všimněte si aktivity Echo, která byla přidána, jak je znázorněno na následujícím obrázku.
Sequence Přetáhněte aktivitu na plochu návrháře. Nachází se v části Tok řízení v sadě nástrojů.
S aktivitou v fokusu Sequence klikněte na odkaz Proměnné a přidejte řetězcovou proměnnou s názvem
inString
. Dejte proměnné výchozí hodnotu"Hello, world"
a také řetězcovou proměnnou s názvemoutString
, jak je znázorněno v následujícím diagramu.Přetáhněte aktivitu Echo do objektu Sequence. V okně vlastností vytvořte vazbu argumentu
inMsg
inString
na proměnnou aoutMsg
argument na proměnnououtString
, jak je znázorněno na následujícím obrázku. Tím se předá hodnotainString
proměnné operaci a pak vezme vrácenou hodnotu a umístí ji dooutString
proměnné.Přetažením aktivity WriteLine pod aktivitou Echo zobrazte řetězec vrácený voláním služby. Aktivita WriteLine se nachází v uzlu Primitives v sadě nástrojů. Vytvořte vazbu textového argumentu aktivity WriteLine na
outString
proměnnou zadánímoutString
do textového pole aktivity WriteLine. Pracovní postup by teď měl vypadat jako na následujícím obrázku.Klikněte pravým tlačítkem myši na řešení MyWFService a vyberte Nastavit projekty po spuštění. Vyberte přepínač Více projektů po spuštění a vyberte Spustit pro každý projekt ve sloupci Akce, jak je znázorněno na následujícím obrázku.
Stisknutím kombinace kláves Ctrl+F5 spusťte službu i klienta. Vývojový server ASP.NET hostuje službu, prohlížeč zobrazí stránku nápovědy WCF a aplikace klientského pracovního postupu se spustí v okně konzoly a zobrazí řetězec vrácený ze služby ("Hello, world").