Názorný postup: Vytváření a přístup ke službám WCF
Tento návod ukazuje, jak vytvořit jednoduchou službu Windows Communication Foundation (WCF), otestovat ji a potom k ní přistoupit z aplikace modelu Windows Forms.
[!POZNÁMKA]
Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.
Vytváření služby
Chcete-li vytvořit službu WCF
V nabídce Soubor přejděte na příkaz Nový a klikněte na Projekt.
V dialogovém okně Nový projekt rozbalte uzel Visual Basic nebo Visual C# a klikněte na tlačítko WCF následované Knihovna služby WCF.Kliknutím na tlačítko OK otevřete projekt.
[!POZNÁMKA]
Tím se vytvoří pracovní služba, která může být testována a ke které lze přistupovat.Následující dva kroky ukazují, jak můžete upravit výchozí metodu k použití jiného datového typu.Ve skutečné aplikaci byste také přidali vlastní funkce do služby.
V Průzkumníku řešení dvakrát klikněte na IService1.vb nebo IService1.cs a vyhledejte následující řádek:
<OperationContract()> Function GetData(ByVal value As Integer) As String
[OperationContract] string GetData(int value);
Změňte typ parametru value na String:
<OperationContract()> Function GetData(ByVal value As String) As String
[OperationContract] string GetData(string value);
Ve výše uvedeném kódu si všimněte atributů <OperationContract()> nebo [OperationContract].Tyto atributy jsou požadovány pro jakoukoli metodu vystavenou prostřednictvím služby.
V Průzkumníku řešení dvakrát klikněte na Service1.vb nebo Service1.cs a vyhledejte následující řádek:
Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(int value) { return string.Format("You entered: {0}", value); }
Změňte typ pro parametr hodnoty na String:
Public Function GetData(ByVal value As String) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(string value) { return string.Format("You entered: {0}", value); }
Testování služby
Chcete-li testovat službu WCF
Stiskněte klávesu F5 ke spuštění služby.Formulář Testovací klient WCF bude zobrazen a zavede se služba.
Ve formuláři Testovací klient WCF dvakrát klikněte na metodu GetData() pod IService1.Karta GetData se zobrazí.
V poli Žádost vyberte pole hodnota a zadejte Hello.
Klikněte na tlačítko Vyvolání.Jestliže se zobrazí dialogové okno Upozornění zabezpečení, klikněte na tlačítko OK.Výsledek bude zobrazen v poli Odpověď.
Na nabídce Soubor klikněte na Ukončit k zavření formuláře.
Přistupování ke službě
Chcete-li odkazovat na službu WCF
V nabídce Soubor přejděte na Přidat a potom klikněte na příkaz Nový projekt.
V dialogovém okně Nový projekt rozbalte uzel Visual Basic nebo Visual C# a vyberte Windows, a pak vyberte Model Windows Forms aplikace.Kliknutím na tlačítko OK otevřete projekt.
Klikněte pravým tlačítkem myši na WindowsApplication1 a klikněte na tlačítkoPřidat odkaz na službu.Zobrazí se dialogové okno Přidat odkaz na službu.
V dialogovém okně Přidat odkaz na službu klikněte na položku Zjišťování.
Service1 bude zobrazena v podokně Služby.
Klikněte na tlačítko OK k přidání odkazu na službu.
Chcete-li vytvořit klientskou aplikaci
V Průzkumníku řešení dvakrát klikněte na Form1.VB nebo Form1.cs k otevření Návrháře formulářů, pokud již není otevřený.
Z Panelu nástrojů přetáhněte ovládací prvek TextBox, ovládací prvek Label a ovládací prvek Button do formuláře.
Dvakrát klikněte na Button a přidejte následující kód v obslužné rutině události Click:
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim client As New ServiceReference1.Service1Client Dim returnString As String returnString = client.GetData(TextBox1.Text) Label1.Text = returnString End Sub
private void button1_Click(System.Object sender, System.EventArgs e) { ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); string returnString; returnString = client.GetData(textBox1.Text); label1.Text = returnString; }
V Průzkumníku řešení klikněte pravým tlačítkem myši na WindowsApplication1 a klikněte na tlačítko Nastavit jako projekt při spuštění.
Stiskněte klávesu F5 ke spuštění projektu.Zadejte nějaký text a klikněte na tlačítko.Zobrazí popisek "zadali jste:" a text, který jste zadali.