Beispiel für Rechnerclient
Die Anwendung "Rechnerclient" ist eine Anwendung auf der Grundlage von Windows Presentation Foundation (WPF), die für das Senden von Vorgängen an den Rechnerstatuscomputerdienst oder den permanenten Rechnerdienst verwendet werden kann. Der Rechnerdienst kann mit unterschiedlichen Protokollen verwendet werden, beispielsweise der WSHttpContextBinding- oder der WsHttpBinding-Bindung mit aktivierten Cookies. Sie können zwischen den Bindungen wechseln und immer noch mit der gleichen Workflowdienstinstanz kommunizieren.
Tipp
Zum Erstellen und Ausführen dieses Beispiels muss .NET Framework, Version 3.5 installiert sein. Zum Öffnen des Projekts und der Projektmappendateien ist Visual Studio 2008 erforderlich.
Sie können den Rechner auch aktivieren, Vorgänge ausführen und die Rechneranwendung schließen, ohne sie zu deaktivieren. Wenn Sie den Rechner anschließend einschalten, kommuniziert der Rechner mit der Workflowinstanz, mit der er zuvor kommuniziert hat. Der Kontext wird in einer Datei namens "Context.ctx" im Verzeichnis "\bin" der Rechnerclientanwendung gespeichert. Um die Rechnerclientanwendung neu zu starten, können Sie die Datei "Client.ctx" löschen.
Weitere Informationen zum Einrichten dieses Beispiels finden Sie unter One-time Setup Procedure for Windows Communication Foundation Samples.
Der folgende Code zeigt den ICalculator
-Dienstvertrag.
[ServiceContract(Namespace = "http://Microsoft.WorkflowServices.Samples")]
public interface ICalculator
{
[OperationContract()]
int PowerOn();
[OperationContract()]
int Add(int value);
[OperationContract()]
int Subtract(int value);
[OperationContract()]
int Multiply(int value);
[OperationContract()]
int Divide(int value);
[OperationContract()]
void PowerOff();
}
So richten Sie den Rechner ein
Stellen Sie sicher, dass das Beispiel zum Statuscomputer-Workflowdienst oder das Durable Workflow Services Sample entsprechend den Anweisungen in den entsprechenden Beispielen in Internetinformationsdienste (IIS) 6.0 gehostet ist. Die Dateien "Service.svc" und "Web.config" der installierten Dienste befinden sich im Verzeichnis %systemdrive%\intetpub\wwwroot\ServiceModelSamples. Die Datei "Service.dll" befindet sich im Verzeichnis %systemdrive%\intetpub\wwwroot\ServiceModelSamples\bin.
Laden Sie das Workflowdienstdienstprogramme herunter, und speichern Sie es so, dass sich die Ordner CalculatorClient und WorkflowServiceUtility im gleichen übergeordneten Ordner befinden.
Stellen Sie sicher, den Workflowdienstverweis ordnungsgemäß zu erstellen. Wenn dieser nicht definiert ist, wenn Sie die Projektmappe öffnen, erstellen Sie den Verweis neu. Sie können auch die Web Services Descriptor Language (WSDL) des Statuscomputer-Workflowdiensts anzeigen oder den permanenten Rechnerdienst, indem Sie mit dem Browser die entsprechende Adresse https://localhost/ServiceModelSamples/service.svc aufrufen. Um die WSDL anzuzeigen, rufen Sie https://localhost/ServiceModelSamples/service.svc? wsdl auf.
Der Rechnerclient veranschaulicht die Kommunikation mit einem Dienst, während der Status beibehalten wird, sodass der Dienst fortgesetzt werden kann, wenn Sie die Kommunikation erneut starten. Um den Rechner zu verwenden, geben Sie eine Zahl und einen Vorgang ein, den Sie ausführen möchten. Der Dienst, mit dem der Rechnerclient kommuniziert, führt unter Verwendung der Ergebnisse des letzten Vorgangs den festgelegten Vorgang aus. Wenn Sie starten, ist das Ergebnis des letzten Vorgangs 0. Wenn Sie beispielsweise den Rechnerclient starten und die Zahl 2 und anschließend den Additionsvorgang (+) eingeben, addiert der Dienst 2 zum Ergebnis des letzten Vorgangs (in diesem Fall 0). Der Rechner zeigt anschließend das Ergebnis an (2). Wenn Sie anschließend 3 eingeben, gefolgt vom Additionsvorgang (+), wird die Zahl 3 dem Ergebnis des letzten Vorgangs (2) hinzugezählt, und das Ergebnis ist 5. Das Gleichheitszeichen (=) addiert 0 zum Ergebnis des letzten Vorgangs. Wenn Sie in dem vorstehenden Beispiel die Zahl 2 und anschließend das Gleichheitszeichen eingeben, addiert der Rechner zum Ergebnis des letzten Vorgangs 0. Dieses war 5, und es wird 5 zurückgegeben.
Wenn Sie den Client beenden und erneut starten, wird das Ergebnis des letzten Vorgangs im Rechner angezeigt. Sie können ausgehend von diesem Punkt mit der Ausführung von Vorgängen fortfahren.
Der Rechnerclient verwendet die Textdatei "Client.ctx" zum Speichern des Kontexts an einem permanenten Speicherort, wenn der erste Aufruf ausgeführt wird (in diesem Fall im Verzeichnis "\bin" des Beispiels). Wenn Sie den Client erneut öffnen, überprüft er, ob die Datei vorhanden ist. Wenn die Datei vorhanden ist, wird der gespeicherte Kontext auf den Kanal angewendet, der erstellt wird. Wenn der Workflowdienst beendet wurde und Sie den Client öffnen, während sich die Datei "Client.ctx" noch im Verzeichnis "\bin" befindet, versucht der Rechnerclient, den Kontext auf den Kanal anzuwenden. Es wird ein Fehler angezeigt, da die Workflowinstanz, mit der kommuniziert werden soll, nicht vorhanden ist. Löschen Sie die Datei, und versuchen Sie es erneut.