Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Aufgabe erstellen Sie einen einfachen Client, um Vorgänge auf dem permanenten Dienst aufzurufen. Das Testtool WcfTestClient.exe wird von der Vorlage der WCF-Dienstbibliothek verwendet.
Erstellen des Clients
Klicken in der SimpleDurableService-Projektmappe mit der rechten Maustaste auf den Projektmappenknoten im Bereich Projektmappen-Explorer.
Navigieren Sie zu Hinzufügen, und wählen Sie Neues Projekt aus.
Wählen Sie im Dialogfeld Neues Projekt unter Windows die Option Konsolenanwendung aus.
Nennen Sie das Projekt DurableServiceTestClient, und klicken Sie auf OK.
Klicken Sie mit der rechten Maustaste auf den DurableServiceTestClient-Projektknoten, und wählen Sie Verweis hinzufügen aus.
Wählen Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte .NET die System.ServiceModel-Assembly aus, und klicken Sie auf OK.
Fügen Sie der C#-Quelldatei die folgende using-Anweisung hinzu:
Wurde eine Visual Basic-Projektmappe erstellt, klicken Sie mit der rechten Maustaste auf den DurableServiceTestClient-Projektknoten, und wählen Sie Eigenschaften aus. Klicken Sie auf die Registerkarte Verweise, und aktivieren Sie unter Importierte Namespaces den Namespace System.ServiceModel.
- Verwenden Sie SvcUtil.exe, um den Proxycode und die Konfigurationsdatei für den permanenten Dienst zu generieren.
Verwenden von SvcUtil.exe
Informationen zur Verwendung von SvcUtil.exe finden Sie unter ServiceModel Metadata Utility Tool.
Fügen Sie diese Dateien nach dem Generieren des Proxycodes und der Konfigurationsdateien folgendermaßen dem DurableServiceTestClient-Projekt hinzu:- Navigieren Sie zum Bereich Projektmappen-Explorer.
- Klicken Sie mit der rechten Maustaste auf den DurableServiceTestClient-Projektknoten.
- Markieren Sie Hinzufügen, und wählen Sie Vorhandenes Element aus.
- Navigieren Sie zum Ordner, in dem die Konfiguration und Proxycodedateien von SvcUtil.exe generiert wurden.
- Wählen Sie die Dateien aus, und klicken Sie auf OK.
- Benennen Sie die Konfigurationsdatei zu App.config um, wenn diese nicht bereits so bezeichnet ist.
- Fügen Sie der Main-Methodenimplementierung den folgenden Code hinzu:
Permanente Dienstclients werden auf die gleiche Weise erstellt wie normale WCF-Dienstclients. Eine neue Instanz des Clients wird basierend auf dem Proxycode des Dienstes erstellt. Anschließend erfolgt ein Aufruf von Open, und danach werden die Dienstvorgänge aufgerufen. Zum Schluss wird Close aufgerufen, um den Client zu beenden.
Zur Verwendung des Clients mit dem permanenten Dienst in der SimpleDurableService-Projektmappe muss ein Befehlszeilenargument aus den SimpleDurableService-Projekteigenschaften gelöscht werden. Gehen Sie hierzu folgendermaßen vor:
- Klicken Sie mit der rechten Maustaste auf den SimpleDurableService-Projektknoten, und wählen Sie Eigenschaften aus.
- Wählen Sie die Registerkarte Debuggen aus, und entfernen Sie im Detailbereich unter Start Optionen die Option /client:"WfcTestClient.exe" aus dem Textfeld.
Klicken Sie mit der rechten Maustaste auf den SimpleDurableService-Projektmappenknoten, und wählen Sie Eigenschaften aus.
Wählen Sie im Dialogfeld Eigenschaftenseite die Option Mehrere Startprojekte aus.
Ist SimpleDurableService nicht als erstes Element in der Liste aufgeführt, verschieben Sie es mithilfe der Pfeilschaltflächen neben dem Listenfeld an die oberste Position. Dies ist erforderlich, damit die Ausführung des Diensts gestartet wird, bevor von der Clientanwendung versucht wird, Vorgänge auf dem Dienst aufzurufen.
Ändern Sie für jedes Projekt in der Liste die Aktion von Keine in Start.
Klicken Sie auf Übernehmen, und klicken Sie dann auf OK.
Erstellen Sie den Dienst und die Clientprojekte. Sie können Ihre permanenten Dienste in Internetinformationsdienste (IIS), einer Windows-Anwendung oder einem anderen Hostprozess hosten. Für die Zwecke dieses Lernprogramms verwenden Sie jedoch WfcSvcHost.exe als Host. WcfSvcHost.exe ist ein Entwicklertool, das zu Testzwecken als Host für Dienste fungiert.
Beachten Sie die folgende Ausgabe der Befehlszeilenschnittstelle des Clients:The current value is 3 The current value is -1 The current value is -5 Press <ENTER> to shut down the client.Um festzustellen, ob die Speicherung nach jedem Vorgang (mit Ausnahme von EndPersistence) stattfindet, können Sie Microsoft SQL Server Management Studio Express von https://www.microsoft.com/downloads installieren und Debugpunkte in der Clientanwendung einrichten. Beobachten Sie anschließend die Tabelle InstanceData in der Datenbank NetFx35Samples_DurableServiceStore. Der Tabelle sollte ein neuer Eintrag hinzugefügt werden, der bis zum Aufruf von EndPersistence nach jedem Vorgang aktualisiert wird. Sobald EndPersistence abgeschlossen wurde, wird der Tabelleneintrag entfernt.
Der Wert des permanenten Dienstes kann auch überprüft werden, indem Sie die ersten Vorgangsaufrufe für den Dienst über Ihren Client auszuführen und in Visual Studio einen Haltepunkt am Vorgangsaufruf einfügen. Beenden Sie vor dem dritten Vorgangsaufruf den Dienst, und starten Sie ihn neu. Führen Sie jetzt den Vorgangsaufruf aus. Der Zustand des Dienstes wird nun aus der Persistenzdatenbank wiederhergestellt, und Sie können sehen, dass der Dienst die gewünschte Antwort für den aktuellen Wert zurückgibt.
Siehe auch
Aufgaben
Aufgabe 1: Definieren und Implementieren des permanenten Dienstvertrags
Aufgabe 2: Aktivieren von Persistenz für den permanenten Dienst
Weitere Ressourcen
Lernprogramm: Erstellen eines permanenten Diensts
Copyright © 2007 Microsoft Corporation. Alle Rechte vorbehalten.