Proxy de servicio y sesiones
El proxy de servicio tiene comportamientos especiales para los enlaces de canal de sesión y no basados en sesión. El proxy de servicio proporciona semántica basada en sesión si el enlace de canal subyacente se basa en la sesión. En este caso, se usa un único canal para atender las llamadas. Sin embargo, si el enlace de canal no se basa en la sesión, el proxy de servicio crea un canal independiente para cada llamada. Sin embargo, tenga en cuenta que los canales no basados en sesión se agrupan y pueden reutilizarse. Al reutilizar un canal, el proxy de servicio mantiene abierto el canal si el canal subyacente no se ha producido un error o la llamada en un canal ha provocado que el proxy de servicio produzca errores en el canal. Tenga en cuenta que. excepto en caso de error, una vez que se abre un canal, se mantiene abierto siempre que el proxy de servicio esté abierto y se cierre solo cuando se cierre el proxy de servicio.
Si el enlace de canal se basa en la sesión y si el canal subyacente falla, la máquina de estado del proxy de servicio pasará al estado de WS_SERVICE_PROXY_STATE_FAULTED. En el caso del enlace de canal no basado en sesión, un error en el canal subyacente no hace que el proxy pase a WS_SERVICE_PROXY_STATE_FAULTED estado.
Para obtener más información sobre el proxy de servicio y su relación con el estado, consulte el tema Service Proxy. Para obtener ejemplos de diferentes enlaces de canal, consulte los ejemplos siguientes:
- enlace de canal que no es de sesión, HttpCalculatorClientExample
- enlace de canal basado en sesión, sessionfullCalculatorClientExample