Tengo un servicio WCF alojado en una aplicación web (IIS). Necesito exponer 1 punto final sobre wsHttp
y el otro sobre netTcp
. Estoy en un entorno IIS7 que me permite alojar servicios no basados en HTTP. De todos modos, cuando navego por el. svc
archivo usando un navegador, me sale el error:WCF alojado en una aplicación web y modo de compatibilidad
The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application
buscando en Google, me di cuenta de que WCF se ejecuta en dos modos - Mezcla y ASP.NET compatibles. Cuando aplico el atributo
[AspNetCompatibilityRequirements(
RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
Sin embargo, parece que una vez que aplico este atributo para la ejecución del contrato de servicio, no puedo usar una unión no HTTP.
¿Cómo puedo configurarlo de manera que:
- puedo soportar puntos terminales que no HTTP
- puedo alojar el servicio en una aplicación Web
- no lo creo múltiples servicios con una Red PEA compatibilidad activada y la otra apagada
¿Está utilizando una función de ASP.NET? ¿Si es así, Cuál? ¿Se puede eliminar? –
Aún no - hasta ahora (No estoy seguro de si usaría sesión o contexto en el futuro). ¿Estás diciendo que si no uso ninguna característica de asp.net, debería poder desconectar la compatibilidad con AspNet y aún así alojarla en un host web? – DotnetDude
¿por qué no expone el servicio usando un servicio de Windows? Creo que primero y segundo son imposibles de hacer a menos que use WAS. –