2011-04-27 17 views
8

Alojo 2 servicios web WCF y 1 servicio web .NET estándar desde un directorio de aplicaciones. El servicio .NET y 1 de los servicios WCF funcionan perfectamente; Sin embargo, el otro servicio WCF está devolviendo el siguiente error:Problema de configuración del servicio web

The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the AspNetCompatibilityRequirements attribute to the service type with RequirementsMode setting as 'Allowed' or 'Required'.

Ambos servicios web WCF tener la línea

<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _ 

y el archivo web.config tiene

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 

Para añadir más confusión a la mezcla, cuando cambio

AspNetCompatibilityRequirementsMode.Allowed 

a

AspNetCompatibilityRequirementsMode.Required 

el servicio funciona muy bien.

Además, cambiar

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 

a

<serviceHostingEnvironment aspNetCompatibilityEnabled="false" /> 

en el web.config también permite que todos los servicios de Internet para la función.

Este problema se presenta tanto en IIS7 como en nuestro entorno de ensayo alojado en SBS2003 con IIS6.

Gracias de antemano por toda su ayuda.
Jake

ACTUALIZACIÓN:
yo era capaz de conseguir que funcione mediante la supresión de la aplicación en el sistema de desarrollo; sin embargo, el problema persiste en nuestro servidor de transferencia, incluso después de eliminar la aplicación y volver a crearla allí.

trabajo en torno a:

  1. eliminar la aplicación del IIS
  2. Vuelva a crear el direcotry
  3. crear un grupo de aplicaciones nuevo
  4. En las propiedades de la direcotry, crear la aplicación y asociarlo al nuevo grupo de aplicaciones.

Qué dolor.

+1

Publica esto como respuesta y marcarlo como respuesta por favor. –

+0

Esta no es la respuesta. Esto es simplemente un trabajo horrible, y el problema una vez más se presentó en mi servidor en vivo. ¿Alguien tiene una verdadera solución a este problema, o alguna idea de lo que está causando esto? –

Respuesta

0

trabajo en torno a:

  • eliminar la aplicación del IIS
  • Vuelva a crear el direcotry
  • crear un grupo de aplicaciones nuevo
  • En las propiedades de la direcotry, crear la aplicación y lo asocian a el nuevo grupo de aplicaciones.
3

No puede alojar 2 versiones diferentes de servicio de marco en el grupo de aplicaciones único. Lo que quiero decir es que si ha alojado 2 WebService (uno está utilizando Framework 2.0 y otro está usando framework 4.0) en un solo grupo de aplicaciones, cualquier servicio funcionará. En segundo lugar nunca funcionará

SOLUCIÓN:

    Crear 2 Piscina aplicación diferente. App1 (Target Framework 2.0) y App2 (Target Framework 4.0)
    Asignar App1 de la piscina para que el servicio que se desarrolló en Framework 2.0.
    Asigne el grupo de App2 a ese servicio desarrollado en Framework 4.0.
    Reiniciar IIS

Debería funcionar ahora.

+0

Gracias por la respuesta Ashu; desafortunadamente, ambos proyectos apuntan al marco 3.5. Esto se confirma porque después de volver a crear la aplicación en IIS, ambos servicios web se ejecutan en el mismo AppPool. –

Cuestiones relacionadas