Compartir a través de


Sesión de confianza de WS

Download sample

Este ejemplo muestra el uso de la sesión de confianza. Las sesiones de confianza proporcionan compatibilidad para la mensajería y las sesiones de confianza. La mensajería de confianza reintenta la comunicación en caso de error y permite especificar garantías de entrega, como la llegada en orden de los mensajes. Las sesiones mantienen el estado de los clientes entre llamadas. El ejemplo implementa las sesiones para mantener el estado del cliente y especifica las convicciones de la entrega en orden. Este ejemplo se basa en Ejemplo de introducción que implementa un servicio de calculadora. Las características de sesión de confianza están habilitadas y configurados en los archivos de configuración de la aplicación para el cliente y el servicio.

En este ejemplo, el cliente es una aplicación de consola (.exe) y los Servicios de Internet Information Server (IIS) hospedan el servicio.

Nota

Las instrucciones de compilación y el procedimiento de instalación de este ejemplo se encuentran al final de este tema.

El ejemplo utiliza el archivo wsHttpBinding. El enlace se especifica en los archivos de configuración para el cliente y el servicio. El tipo de enlace se especifica en el atributo binding del elemento del extremo tal y como se explica en el ejemplo siguiente de configuración.

<endpoint address=""
          binding="wsHttpBinding"
          bindingConfiguration="Binding1" 
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

El extremo contiene un atributo bindingConfiguration que hace referencia a una configuración de enlace denominada "Binding1". La configuración de enlace habilita las sesiones de confianza estableciendo el atributo enabled de reliableSession element como true. Las convicciones de la entrega para las sesiones ordenadas se controlan estableciendo el atributo ordenado como true o false. El valor predeterminado es true.

<bindings>
    <wsHttpBinding>
        <binding name="Binding1">
            <reliableSession enabled="true" />
        </binding>
    </wsHttpBinding>
</bindings>

La clase de implementación de servicio implementa PerSession que crea instancias para mantener una instancia de clase independiente para cada cliente, como se muestra en el código muestra siguiente.

[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
    ...
}

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

  1. Asegúrese de que ha realizado Procedimiento de instalación único para ejemplos de Windows Communication Foundation.

  2. 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.

  3. 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.

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.