WSHttpBinding
El ejemplo de wsHttp muestra cómo implementar un servicio y un cliente típicos mediante 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 de ICalculator
mediante <wsHttpBinding>. 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 las sesiones confiables están habilitadas. 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 la <seguridad>, el valor mode
configura el modo de seguridad que debe usarse. En este ejemplo, se usa la seguridad de los mensajes, por lo que el <mensaje> se especifica en la <seguridad>.
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.
Configurar, compilar y ejecutar el ejemplo
Instale ASP.NET 4.0 con el siguiente comando.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Asegúrese de que ha realizado el procedimiento de instalación única para los ejemplos 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 sola máquina o de varias máquinas, siga las instrucciones que se indican en Ejecución de los ejemplos de Windows Communication Foundation.