Condividi tramite


Esempio client calcolatrice

L'applicazione del client calcolatrice è un'applicazione basata su Windows Presentation Foundation (WPF) che è possibile utilizzare per inviare operazioni al servizio calcolatrice della macchina a stati o al servizio calcolatrice durevole. È possibile utilizzare il servizio calcolatrice con protocolli diversi, quali le associazioni WSHttpContextBinding o WsHttpBinding con i cookie attivati. È possibile passare tra le associazioni e comunicare comunque con la stessa istanza del servizio del flusso di lavoro.

Nota

Per poter essere generato ed eseguito, l'esempio richiede che sia installato .NET Framework versione 3.5. Per aprire il progetto e i file della soluzione è necessario Visual Studio 2008.

È anche possibile accendere alla calcolatrice, eseguire operazioni e chiudere l'applicazione calcolatrice senza disattivarla. È quindi possibile attivare la calcolatrice e questa comunica con l'istanza del flusso di lavoro con la quale stava comunicando in precedenza. Il contesto è archiviato in un file chiamato Context.ctx, il quale è archiviato nella directory \bin dell'applicazione del client calcolatrice. Per riavviare l'applicazione del client calcolatrice è possibile eliminare il file Client.ctx.

Per ulteriori informazioni sulla configurazione di questo esempio, vedere One-time Setup Procedure for Windows Communication Foundation Samples.

Nell'esempio di codice seguente viene illustrato il contratto di servizio ICalculator.

[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();
}  

Per impostare la calcolatrice

  1. Assicurarsi che Esempio di servizio del flusso di lavoro di una macchina a stati o Durable Workflow Services Sample sia ospitato in Internet Information Services (IIS) 6.0 secondo le istruzioni nei rispettivi esempi. I file Service.svc e file Web.config del servizio che si installa si trovano nella directory %systemdrive%\intetpub\wwwroot\ServiceModelSamples. Il file Service.dll è situato nella directory %systemdrive%\intetpub\wwwroot\ServiceModelSamples\bin.

  2. Scaricare Utilità di servizio del flusso di lavoro e salvarlo in modo che le cartelle CalculatorClient e WorkflowServiceUtility si trovino nella stessa cartella padre.

  3. Assicurarsi di creare correttamente il riferimento al servizio del flusso di lavoro. Se non è definito quando viene aperta la soluzione, ricreare il riferimento. È anche possibile consultare il WSDL (Web Services Descriptor Language) del servizio del flusso di lavoro della macchina a stati o del servizio calcolatrice durevole puntando il browser all'indirizzo appropriato, che è https://localhost/ServiceModelSamples/service.svc. Per consultare WSDL, puntare all'indirizzo https://localhost/ServiceModelSamples/service.svc? il wsdl.

  4. Il client calcolatrice dimostra come comunicare con un servizio preservando lo stato, in modo che il servizio possa continuare quando viene riavviata la conversazione. Per utilizzare la calcolatrice, immettere un numero e un'operazione da eseguire. Il servizio con il quale comunica il client calcolatrice esegue l'operazione specificata utilizzando il risultato dell'ultima operazione. All'avvio, il risultato dell'ultima operazione è 0. Ad esempio, se si avvia il client calcolatrice e si immette il numero 2, quindi si immette l'operazione di somma (+), il servizio aggiunge 2 al risultato dell'ultima operazione (in questo caso 0). La calcolatrice visualizza quindi il risultato (2). Se a questo punto si immette 3, quindi l'operazione di somma (+), il numero 3 viene aggiunto al risultato dell'ultima operazione (2), che diventa così 5. Il segno di uguale (=) aggiunge 0 al risultato dell'ultima operazione. Nell'esempio precedente, se si immette il numero 2 e quindi il segno di uguale, la calcolatrice aggiunge 0 al risultato dell'ultima operazione, che era 5, e restituisce 5.

  5. Se si termina e poi si riavvia il client, sulla calcolatrice viene visualizzato il risultato dell'ultima operazione. È possibile continuare a eseguire ulteriori operazioni.

  6. Il client calcolatrice utilizza il file di testo Client.ctx per archiviare il contesto in un percorso durevole la prima volta che viene eseguita una chiamata (in questo caso, nella directory \bin dell'esempio). Quando viene riavviato, il client controlla se il file è presente. Se lo è, il client applica il contesto archiviato al canale che viene creato. Se il servizio del flusso di lavoro è terminato e si apre il client con il file Client.ctx ancora nella directory \bin, il client calcolatrice tenta di applicare il contesto al canale. Viene generato un errore, perché l'istanza del flusso di lavoro con la quale si desidera comunicare è assente. Eliminare il file e provare nuovamente.

Invia commenti su questo argomento a Microsoft.