Sesiones WCF con wsHttpBinding y sin seguridad de Windows

Necesito crear un servicio WCF que esté alojado en IIS, utilice el transporte http y el estado de retención en la memoria del servidor. Si bien soy consciente de que los servicios con estado no son una buena idea, esta última restricción es necesaria para que el servicio funcione con un cliente heredado.

Lo primero que pensé fue en la sesión de asp.net para almacenar los valores. Activé el modo de compatibilidad asp.net en mi servicio, que me dio acceso al HttpContext, pero los valores que se colocaron en el objeto de sesión no se conservaron en la memoria. Supongo que esto se debió a que el módulo http que maneja el estado de la sesión no se configuró correctamente, pero cuando busqué en Google la respuesta, encontré sesiones de WCF y pensé que podría ser una mejor idea usarlas.

Sin embargo, las sesiones de WCF parecen sub-documentar y colocar un conjunto extraño de requisitos previos en un servicio, y no he podido encontrar una configuración que se adapte a mis necesidades: debe estar alojado en IIS, debe usar el transporte http o https y puede No responda en la autenticación de Windows porque el cliente y el servidor no serán parte del mismo dominio. Estoy tratando de hacer que esto funcione con wsHttpBinding, había escuchado que las sesiones de WCF requerían ya sea un mensaje de seguridad o confiable, pero: - Al usar el enlace estándar y cuando los servidores no son parte del mismo dominio, falla con un "SecurityNegotiationException La persona que llama no fue autenticado por el servicio "excepción. Esto es bastante lógico ya que estaba usando la seguridad de Windows.

Si desactivo la seguridad completa, falla con un "Contrato requiere sesión, pero el enlace 'WSHttpBinding' no lo admite o no está configurado correctamente para admitirlo".

Si, mientras mantengo la seguridad deshabilitada, habilito un mensaje confiable, obtengo la excepción “La validación de enlace falló porque WSHttpBinding no admite sesiones confiables sobre seguridad de transporte (HTTPS). No se pudo abrir la fábrica de canales o el host de servicio. Use la seguridad de mensajes para mensajes seguros y confiables a través de HTTP ".

He intentado habilitar la seguridad de nivel de transporte, pero esto no parece hacer ninguna diferencia en el error generado

¿Hay alguna configuración que pueda funcionar para mí? ¿O debería volver al plan de usar las sesiones de asp.net?

Respuestas a la pregunta(2)

Su respuesta a la pregunta