Pergunta

Tenho um serviço WCF que gostaria de hospedar no IIS 7.5.Minha configuração:O caminho físico da pasta com o arquivo .svc é:C: INETPUB wwwroot smartSolution Services Services ContainerManagentService.svc Meus binários estão em C: inetpub wwwroot smartsolution Services bin e também os copiei para C: inetpub wwwroot smart smart smart wwwwrot bin e também copiei -os para C: inetpub wwwroot smart -se bin

Criei um aplicativo web no IIS para ambas as pastas de serviços.

Aqui está o arquivo de configuração para o endpoint 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>

Aqui está meu arquivo .svc makrkup:

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

Quando tento navegar para: http://localhost/SmartSolution/Services/Services/ContainerManagementService.svc , o seguinte erro é exibido:

Erro do servidor no aplicativo '/smartSolution/Services/Services'.[ServiceActivationException:O serviço '/smartsolution/services/services/containerManageMemervice.svc' não pode ser ativado devido a uma exceção durante a compilação.A mensagem de exceção é:não é uma aplicação win32 válida.(Exceção de HRESULT:0x800700C1).] Não é um aplicativo Win32 válido.(Exceção de HRESULT:0x800700C1)

Como posso fazer o serviço funcionar.Obrigado!

Foi útil?

Solução

Observando as exceções, parece que seus assemblies (na pasta bin) foram criados visando a plataforma x64 e agora estão implantados em uma máquina de 32 bits ou em um pool de aplicativos configurado para o aplicativo estar sendo executado no modo de 32 bits (Ativar aplicativos de 32 bits = "true" ).Assim, o processo não consegue carregar os assemblies construídos para a plataforma x64 e falha com exceção.

HTH AMIT

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top