Freigeben über


Exemplarische Vorgehensweise: Erstellen eines einfachen WCF-Diensts in .NET Framework-Windows Forms

In dieser exemplarischen Vorgehensweise wird gezeigt, wie in Visual Studio ein WCF-Dienst (Windows Communication Foundation) erstellt, getestet und anschließend über eine Windows Forms-Anwendung darauf zugegriffen wird.

Hinweis

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in diesem Artikel. Möglicherweise verwenden Sie eine andere Edition von Visual Studio oder andere Umgebungseinstellungen. Weitere Informationen finden Sie unter Personalisieren der IDE.

Voraussetzungen

Die WCF-Tools werden nicht mit der .NET-Workload installiert. Verwenden Sie den Visual Studio-Installer, um Ihre Installation zu ändern. Wählen Sie im Installationsprogramm unter Einzelne Komponenten die Option Windows Communication Foundation aus. Weitere Informationen finden Sie im Artikel Ändern von Visual Studio durch Hinzufügen oder Entfernen von Arbeitsauslastungen und Komponenten.

Erstellen eines Diensts

  1. Öffnen Sie Visual Studio.

  2. Wählen Sie im Startfenster Neues Projekt erstellen aus.

  3. Geben Sie in das Suchfeld auf der Seite Erstellen eines neuen Projekts den Suchtext WCF-Dienstbibliothek ein. Wählen Sie für die WCF-Dienstbibliothek entweder die C#- oder Visual Basic-Vorlage aus, und wählen Sie dann Weiter aus.

    Erstellen des Projekts „Neue WCF-Dienstbibliothek“ in Visual Studio

    Tipp

    Wenn keine Vorlagen angezeigt werden, müssen Sie möglicherweise die Komponente Windows Communication Foundation von Visual Studio installieren. Wählen Sie Weitere Tools und Features installieren aus, um Visual Studio-Installer zu öffnen. Wählen Sie die Registerkarte Einzelne Komponenten aus, scrollen Sie nach unten zu Entwicklungsaktivitäten, und wählen Sie Windows Communication Foundation aus. Klicken Sie auf Ändern.

  4. Klicken Sie auf der Seite Neues Projekt konfigurieren auf Erstellen.

    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.

  5. Doppelklicken Sie im Projektmappen-Explorer auf IService1.vb oder auf IService1.cs.

    Die Datei

    Suchen Sie die folgende Zeile:

    [OperationContract]
    string GetData(int value);
    

Ändern Sie den Typ für den value-Parameter in „String“:

[OperationContract]
string GetData(string value);

Beachten Sie im obigen Code das Attribut OperationContract. Dieses Attribut ist für jede Methode erforderlich, die vom Dienst zur Verfügung gestellt wird.

  1. Doppelklicken Sie im Projektmappen-Explorer auf Service1.vb oder auf Service1.cs.

    Die Datei

    Suchen Sie die folgende Zeile:

    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
    

Ändern Sie den Typ für den value-Parameter in „String“:

public string GetData(string value)
{
    return string.Format("You entered: {0}", value);
}

Testen des Diensts

  1. Drücken Sie F5, um den Dienst auszuführen. Daraufhin wird das Formular WCF-Testclient angezeigt und der Dienst wird geladen.

  2. Doppelklicken Sie im WCF-Testclient-Formular auf die GetData()-Methode unter IService1. Die Registerkarte GetData wird angezeigt.

    Die GetData()-Methode

  3. Wählen Sie im Feld Anforderung das Feld Wert aus, und geben Sie Hello ein.

    Das Wertfeld

  4. Klicken Sie auf die Schaltfläche Aufrufen. Wenn das Dialogfeld Sicherheitswarnung angezeigt wird, klicken Sie auf OK. Das Ergebnis wird im Feld Antwort angezeigt.

    Das Ergebnis im Feld

  5. Klicken Sie im Menü Datei auf Beenden, um das Testformular zu schließen.

Zugreifen auf den Dienst

Verweisen auf den WCF-Dienst

  1. Zeigen Sie im Menü Datei auf Hinzufügen > Neues Projekt. Wählen Sie das Projekt Windows Forms-App (.NET Framework) aus.

  2. Klicken Sie mit der rechten Maustaste auf den Projektknoten, und klicken Sie dann auf Hinzufügen > Dienstverweis. Das Dialogfeld Dienstverweis hinzufügen wird angezeigt.

  3. Klicken Sie im Dialogfeld Dienstverweis hinzufügen auf Ermitteln.

    Screenshot des Dialogfelds „Dienstverweis hinzufügen“.

    Service1 wird im Bereich Dienste angezeigt.

  4. Klicken Sie auf OK, um den Dienstverweis hinzuzufügen.

Erstellen Sie eine Clientanwendung

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

  2. Öffnen Sie die Toolbox, indem Sie auf Anzeigen>Toolbox klicken (oder verwenden Sie STRG+Alt+X auf der Tastatur).

  3. Ziehen Sie aus der Toolbox ein TextBox-Steuerelement, ein Label-Steuerelement und ein Button-Steuerelement auf das Formular.

    Screenshot: Hinzufügen von Steuerelementen zum Formular.

  4. Doppelklicken Sie auf Button, und fügen Sie dem Click-Ereignishandler den folgenden Code hinzu:

    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;
    }
    
  5. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten (z. B. WindowsFormsApp1), und klicken Sie dann auf Als Startprojekt festlegen.

  6. Drücken Sie F5, um das Projekt auszuführen. Geben Sie Text ein, und klicken Sie auf die Schaltfläche. Als Bezeichnung wird „Sie haben eingegeben:“ und als Text der von Ihnen eingegebene Text angezeigt.

    Screenshot: Ausgeführtes Formular mit dem Ergebnis.