Condividi tramite


Imperativo dell'associazione personalizzata

L'esempio imperativo illustra come scrivere codice imperativo per definire e usare associazioni personalizzate senza usare un file di configurazione o un client generato da Windows Communication Foundation (WCF). Questo esempio combina le funzionalità fornite dal trasporto HTTP e dal canale di sessione affidabile per creare un'associazione affidabile basata su HTTP. Questo esempio si basa sull'Introduzione che implementa un servizio calcolatrice.

Annotazioni

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

Sia nel client che nel servizio viene creata un'associazione personalizzata che contiene due elementi di associazione (Reliable Session e HTTP):

ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
reliableSession.Ordered = true;

HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;

CustomBinding binding = new CustomBinding(reliableSession, httpTransport);

Nel servizio l'associazione viene usata aggiungendo un endpoint a ServiceHost:

serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");

Nel client, l'associazione viene usata da un ChannelFactory per creare un canale per il servizio:

EndpointAddress address = new EndpointAddress("http://localhost:8000/servicemodelsamples/service");
ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>(binding, address);
ICalculator channel = channelFactory.CreateChannel();

Questo canale viene quindi usato per interagire con il servizio:

// Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = channel.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

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

Press <ENTER> to terminate client.

Per configurare, compilare ed eseguire l'esempio

  1. Assicurarsi di aver eseguito la One-Time Procedura di installazione 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.

Vedere anche