WSHttpBinding
Este ejemplo muestra cómo implementar un servicio y un cliente típicos con Windows Communication Foundation (WCF). Este ejemplo está compuesto de un programa de consola de cliente (client.exe) y una biblioteca de servicios hospedada por Internet Information Services (IIS). El servicio implementa un contrato que define un modelo de comunicación de solicitud y respuesta. La interfaz ICalculator
, que expone las operaciones matemáticas (sumar, restar, multiplicar y dividir) define el contrato. El cliente realiza solicitudes sincrónicas a una operación matemática determinada y el servicio responde con el resultado. La actividad del cliente es visible en la ventana de la consola.
Nota
El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.
Este ejemplo expone el contrato ICalculator
mediante wsHttpBinding Element. La configuración de este enlace se ha expandido en el archivo Web.config.
<bindings>
<wsHttpBinding>
<!--The following is the expanded configuration section for a-->
<!--WSHttpBinding. Each property is configured with the default-->
<!--value. See the ReliableSession, TransactionFlow, -->
<!--TransportSecurity, and MessageSecurity samples in the WS -->
<!--directory to learn how to configure these features. -->
<binding name="Binding1"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
En el elemento binding
de base, el valor maxReceivedMessageSize
le permite configurar el tamaño máximo de un mensaje entrante (en bytes). El valor hostNameComparisonMode
le permite configurar si se considera el nombre de host al demultiplexar los mensajes en el servicio. El valor messageEncoding
le permite configurar si utilizar la codificación de texto o MTOM para los mensajes. El valor textEncoding
le permite configurar la codificación de caracteres para los mensajes. El valor bypassProxyOnLocal
le permite configurar si utilizar un proxy HTTP para la comunicación local. El valor transactionFlow
configura si se fluye (si se configura una operación para el flujo de la transacción) la transacción actual.
En el elemento reliableSession, el valor booleano habilitado configura si están habilitadas las sesiones confiables. El valor ordered
configura si se va a conservar la clasificación del mensaje. El valor inactivityTimeout
configura cuánto tiempo puede estar una sesión inactiva antes de que se produzcan errores.
En security element of wsHttpBinding, el valor mode
configura qué modo de seguridad debería utilizarse. En este ejemplo, se utiliza la seguridad de los mensajes, que es por qué se especifica message element of wsHttpBinding dentro de security element of wsHttpBinding.
Al ejecutar el ejemplo, las solicitudes y respuestas de la operación se muestran en la ventana de la consola del cliente. Presione ENTRAR en la ventana de cliente para cerrar 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, generar y ejecutar el ejemplo
Asegúrese de que ha realizado el Procedimiento de instalación único para ejemplos de Windows Communication Foundation.
Para generar el código C# o Visual Basic .NET Edition de la solución, siga las instrucciones de Generación de ejemplos de Windows Communication Foundation.
Para ejecutar el ejemplo en una configuración de equipos única o cruzada, siga las instrucciones de Ejecución de ejemplos de Windows Communication Foundation.
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.