Condividi tramite


Client tipizzato

L'esempio TypedClient illustra come ottenere informazioni da un client tipizzato generato dallo strumento utilità metadati ServiceModel (Svcutil.exe). Questo esempio si basa sull'Introduzione che implementa un servizio calcolatrice. In questo esempio il client è un'applicazione console (.exe) e il servizio è ospitato da Internet Information Services (IIS).

Annotazioni

La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.

La proprietà del Endpoint client consente l'accesso alle informazioni sull'endpoint di servizio con cui il client sta comunicando, comprese l'indirizzo, il legame e le informazioni sul contratto. La proprietà del InnerChannel client è un'istanza di IClientChannel che consente l'accesso alle informazioni sul canale sottostante, ad esempio il relativo stato e l'identificatore di sessione.

// Create a client.
CalculatorClient client = new CalculatorClient();
...
Console.WriteLine("Client - endpoint:  " + client.Endpoint.Address);
Console.WriteLine("Client - binding:  " + client.Endpoint.Binding.Name);
Console.WriteLine("Client - contract: " + client.Endpoint.Contract.Name);

IClientChannel channel = client.InnerChannel;
Console.WriteLine("Client channel - state: " + channel.State);
Console.WriteLine("Client channel - session identifier: " + channel.SessionId);

//Closing the client gracefully closes the connection and cleans up resources.
client.Close();

Quando si esegue l'esempio, le richieste e le risposte dell'operazione vengono visualizzate nella finestra della console client. Premere INVIO nella finestra del client per chiudere il client.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Client - endpoint:  http://localhost/servicemodelsamples/service.svc
Client - binding:  WSHttpBinding
Client - contract: ICalculator
Client channel - state: Opened
Client channel - session identifier: urn:uuid:ae16fbc4-2964-4e87-9fb1-c5aa78fc567e

Press <ENTER> to terminate client.

Per configurare, compilare ed eseguire l'esempio

  1. Assicurati di aver eseguito la procedura di installazione di One-Time per gli esempi di Windows Communication Foundation.

  2. Per compilare l'edizione C# o Visual Basic .NET della soluzione, seguire le istruzioni in Compilazione degli esempi di Windows Communication Foundation.

  3. Per eseguire l'esempio in una configurazione con computer singolo o incrociato, seguire le istruzioni riportate in Esecuzione degli esempi di Windows Communication Foundation.