Pregunta

Tengo un servicio WCF que me gustaría alojar en IIS 7.5. Mi configuración: El camino físico de la carpeta con el archivo .svc es: C: \ inetpub \ wwwroot \ smartsolution \ services \ servicios \ contenedoranmanagementservice.svc Mis binarios están en C: \ inetpub \ wwwroot \ smartsolution \ services \ bin y también los copié para C: \ inetpub \ wwwroot \ smartsolution \ services \ servicios \ bin

He creado una aplicación web en IIS para ambas carpetas de servicios.

Aquí está el archivo de configuración para el punto final de WCF:

      <service behaviorConfiguration="MyNamespace.ContainerManagementServiceBehavior"
    name="MyNamespace.ContainerManagementService">
    <endpoint address="" binding="basicHttpBinding"
       name="ContainerManagementbasicHttpEndpoint" contract="MyNamespace.IContainer"/>                  
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>      
   <behaviors>      
    <behavior name="MyNamespace.ContainerManagementServiceBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
</behaviors>

Aquí está mi archivo .svc makrkup:

<%@ ServiceHost Language="C#" Debug="true" Service="MyNamespace.ContainerManagementService" CodeBehind="ContainerManagementService.svc.cs" %>

Cuando intento navegar a: http:// localhost / smartsolution / servicios / servicios / contenedoranmanagementservice .svc , se muestra el siguiente error:

Error del servidor en '/ SmartSolution / Servicios / Servicios' Solicitud. [ServiceEactivationException: el Servicio '/Smartsolution/services/services/containermanagementservice.svc' no se puede activar debido a un Excepción durante la compilación. El El mensaje de excepción es: no es válido Aplicación Win32. (Excepción de Hresult: 0x800700c1).] No es válido Aplicación Win32. (Excepción de Hresult: 0x800700c1)

¿Cómo puedo obtener el servicio para trabajar? ¡Gracias!

¿Fue útil?

Solución

Mirando las excepciones, parece que sus ensamblajes (en carpeta de bin) se basan en la placa X64 y ahora se implementan en la máquina de 32 bits o el grupo de aplicaciones configurado para la aplicación se está ejecutando debajo del modo de 32 bits (habilitar aplicaciones de 32 bits="cierto").Por lo tanto, el proceso no puede cargar los ensamblajes construidos para la plataforma X64 y falla con excepción.

hth Amit

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top