c# - "El servicio no se puede activar porque requiere compatibilidad con asp net", pero lo necesito para la suplantaciĆ³n
asp.net wcf (1)
Ayer publiqué una pregunta sobre cómo habilitar la suplantación utilizando servicios WCF : ¿el servicio WCF no se hace pasar por el usuario especificado en config?
He habilitado aspnetCompatibilityMode, pero cuando actualizo mi proxy de servicio, dice "el servicio no se puede activar porque requiere compatibilidad asp net". No estoy del todo seguro de lo que esto significa. Si cambio la configuración a AspNetCompatibilityRequirementsMode.Allowed, no permite la suplantación. Intenté habilitar la configuración tanto en web.config como a través del atributo de clase.
¿Hay alguna forma de evitar esto sin configurar el grupo de aplicaciones de mi servicio para que se ejecute como el usuario que necesito? Gracias.
Debe activar AspNetCompatibility en web.config del sitio que aloja su servicio:
<system.serviceModel>
...
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>
Como está haciendo que la implementación de su servicio dependa de ASP.NET, debe marcar su clase de servicio con:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
El valor predeterminado de AspNetCompatibilityRequirements.RequirementMode
está NotAllowed
por lo que probablemente sea la razón de su excepción.