Exemplarische Vorgehensweise: Erstellen von und Zugreifen auf WCF-Dienste
In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie einen einfachen Windows Communication Foundation (WCF)-Dienst erstellen, testen und über eine Windows Forms-Anwendung darauf zugreifen können.
Hinweis
Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Anpassen der Entwicklungseinstellungen in Visual Studio.
Erstellen des Diensts
So erstellen Sie einen WCF-Dienst
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Erweitern Sie im Dialogfeld Neues Projekt den Knoten Visual Basic oder Visual C#, und klicken Sie anschließend auf WCF, gefolgt von WCF-Dienstbibliothek. Klicken Sie auf OK, um das Projekt zu öffnen.
Hinweis
Dadurch wird ein funktionierender Dienst erstellt, der getestet und aufgerufen werden kann.Die folgenden beiden Schritte veranschaulichen, wie Sie die Standardmethode ändern können, um einen anderen Datentyp zu verwenden.In einer echten Anwendung würden Sie dem Dienst auch Ihre eigenen Funktionen hinzufügen.
-
Doppelklicken Sie im Projektmappen-Explorer auf "IService1.vb" oder "IService1.cs", und suchen Sie die folgende Zeile:
<OperationContract()> Function GetData(ByVal value As Integer) As String
[OperationContract] string GetData(int value);
Ändern Sie den Typ für den value-Parameter in String:
<OperationContract()> Function GetData(ByVal value As String) As String
[OperationContract] string GetData(string value);
Beachten Sie im obigen Code die <OperationContract()>- oder [OperationContract]-Attribute. Diese Attribute sind für jede Methode erforderlich, die vom Dienst zur Verfügung gestellt wird.
-
Doppelklicken Sie im Projektmappen-Explorer auf "Service1.vb" oder "Service1.cs", und suchen Sie die folgende Zeile:
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); }
Ändern Sie den Typ für den value-Parameter in 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); }
Testen des Diensts
So testen Sie einen WCF-Dienst
Drücken Sie F5, um die Anwendung auszuführen. Ein WCF-Testclient-Formular wird angezeigt und lädt den Dienst.
Doppelklicken Sie im WCF-Testclient-Formular auf die GetData()-Methode unter IService1. Die Registerkarte GetData wird angezeigt.
Wählen Sie im Feld Anforderung das Feld Wert aus, und geben Sie Hello ein.
Klicken Sie auf die Schaltfläche Aufrufen. Wenn ein Dialogfeld mit einer Sicherheitswarnung angezeigt wird, klicken Sie auf OK. Das Ergebnis wird im Feld Antwort angezeigt.
Klicken Sie im Menü Datei auf Beenden, um das Testformular zu schließen.
Zugriff auf den Dienst
So greifen Sie auf einen WCF-Dienst zu
Wählen Sie im Menü Datei die Option Hinzufügen aus, und klicken Sie anschließend auf Neues Projekt.
Erweitern Sie im Dialogfeld Neues Projekt den Knoten Visual Basic oder Visual C#, wählen Sie Windows und dann Windows Forms-Anwendung aus. Klicken Sie auf OK, um das Projekt zu öffnen.
Klicken Sie mit der rechten Maustaste auf WindowsApplication1 und dann auf Dienstverweis hinzufügen. Das Dialogfeld Dienstverweis hinzufügen wird angezeigt.
Klicken Sie im Dialogfeld Dienstverweis hinzufügen auf Ermitteln.
Service1 wird im Bereich Services angezeigt.
Klicken Sie auf OK, um den Dienstverweis hinzuzufügen.
So erstellen Sie eine Clientanwendung
Doppelklicken Sie im Projektmappen-Explorer auf Form1.vb oder Form1.cs, um den Windows Forms-Designer zu öffnen, wenn er nicht bereits geöffnet ist.
Ziehen Sie aus dem Werkzeugkasten ein TextBox-Steuerelement, ein Label-Steuerelement und ein Button-Steuerelement auf das Formular.
Doppelklicken Sie auf Button, und fügen Sie dem Click-Ereignishandler den folgenden Code hinzu:
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; }
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf WindowsApplication1, und wählen Sie Als Startprojekt festlegen aus.
Drücken Sie F5, um das Projekt auszuführen. Geben Sie Text ein, und klicken Sie auf die Schaltfläche. Als Bezeichnung wird "You entered:" sowie der von Ihnen eingegebene Text angezeigt.