Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el ejemplo imperativo se muestra cómo escribir código imperativo para definir y usar enlaces personalizados sin usar un archivo de configuración o un cliente generado de Windows Communication Foundation (WCF). En este ejemplo se combinan las características proporcionadas por el transporte HTTP y el canal de sesión confiable para crear un enlace confiable basado en HTTP. Este ejemplo se basa en la Guía de inicio que implementa un servicio de calculadora.
Nota:
El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.
Tanto en el cliente como en el servicio, se crea un enlace personalizado que contiene dos elementos de enlace (Reliable Session y 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);
En el servicio, se usa el enlace agregando un extremo a ServiceHost:
serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");
ChannelFactory utiliza el enlace para crear un canal al servicio en el cliente:
EndpointAddress address = new EndpointAddress("http://localhost:8000/servicemodelsamples/service");
ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>(binding, address);
ICalculator channel = channelFactory.CreateChannel();
A continuación, este canal se usa para interactuar con el servicio:
// 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);
Al ejecutar el ejemplo, las solicitudes de operación y las respuestas se muestran en la ventana de la consola del cliente. Presione ENTRAR en la ventana del cliente para apagar el cliente.
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.
Para configurar, compilar y ejecutar el ejemplo
Asegúrese de haber realizado el procedimiento de configuraciónOne-Time para las muestras de Windows Communication Foundation.
Para compilar el código C# o Visual Basic .NET Edition de la solución, siga las instrucciones de Building the Windows Communication Foundation Samples.
Para ejecutar el ejemplo en una configuración de una máquina única o entre máquinas, siga las instrucciones de Ejecución de los ejemplos de Windows Communication Foundation.