Creación de un enlace personalizado de sesión confiable con HTTPS
En este tema se muestra el uso de la seguridad de transporte de capa de sockets seguros (SSL) con sesiones confiables. Para utilizar una sesión confiable sobre HTTPS, debe crear un enlace personalizado que utilice una sesión confiable y el transporte de HTTPS. Puede habilitar la sesión confiable de manera imperativa mediante código o de manera declarativa mediante configuración. Este procedimiento utiliza los archivos de configuración de servicio y cliente para habilitar la sesión confiable y el elemento <httpsTransport>.
La parte clave de este procedimiento es que el elemento de configuración endpoint contenga un atributo bindingConfiguration que haga referencia a una configuración de enlace personalizado denominado "reliableSessionOverHttps". El elemento de configuración <binding> puede hacer referencia a continuación a este nombre para especificar que se utiliza una sesión confiable y el transporte HTTPS incluyendo elementos reliableSession y httpsTransport.
Para ver la copia del origen de este ejemplo, consulte Custom Binding Reliable Session over HTTPS.
Configuración del servicio con un CustomBinding para utilizar una sesión confiable con HTTPS
Defina un contrato de servicios para el tipo de servicio.
Implemente el contrato de servicios en una clase de servicio. Observe que la información de enlace o dirección no se especifica en ninguna parte de la implementación del servicio. Además, no es necesario escribir código para recuperar esa información desde el archivo de configuración.
Cree un archivo Web.config para configurar un extremo para el CalculatorService con un enlace personalizado denominado "reliableSessionOverHttps" que utilice una sesión confiable y el transporte de HTTPS.
Cree un archivo Service.svc que contenga la línea:
<%@ServiceHost language=c# Service="CalculatorService" %>
Coloque el archivo Service.svc en el directorio virtual de Internet Information Services (IIS).
Configuración del cliente con un CustomBinding para utilizar una sesión confiable con HTTPS
Utilice la ServiceModel Metadata Utility Tool (Svcutil.exe) desde la línea de comandos para generar código a partir de los metadatos del servicio.
Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address>
El cliente que se genera contiene la interfaz ICalculator que define el contrato de servicios que la implementación del cliente debe cumplir.
La aplicación de cliente generada también contiene la implementación de ClientCalculator. Observe que la información de enlace y dirección no se especifica en ninguna parte de la implementación del servicio. Además, no es necesario escribir código para recuperar esa información desde el archivo de configuración.
Configure un enlace personalizado denominado "reliableSessionOverHttps" para que use el transporte HTTPS y sesiones confiables.
Cree una instancia de ClientCalculator en una aplicación y, a continuación, llame a las operaciones del servicio.
Compile y ejecute el cliente.
Ejemplo
Seguridad
Dado que el certificado utilizado en este ejemplo es un certificado de prueba creado con Makecert.exe, aparecerá una alerta de seguridad al intentar obtener acceso a una dirección HTTPS:, como https://localhost/servicemodelsamples/service.svc, desde el explorador.