Pergunta

Eu tenho um serviço WCF que funciona bem no servidor de desenvolvimento VS, mas se eu for para as configurações do projeto e alterar os servidores da guia Web para usar o servidor da Web IIS local, recebo uma BadImageFormatException.Eu sei que isso normalmente é causado quando um aplicativo de 32 bits faz referência a uma dll de 64 bits.Todos os meus assemblies são construídos para AnyCPU.

Não sei realmente quais informações seriam úteis aqui, então poste um comentário e editarei a pergunta conforme necessário.

Para começar, direi que estou usando integração com Autofac WCF (que, novamente, funciona no servidor VS Dev, não no IIS).Devo também acrescentar que verifiquei as configurações do IIS.Configurado para DefaultAppPool, que é definido como pipeline integrado do .NET 4.Autenticação anônima ativada, Windows desativado.

Aqui está um exemplo do meu arquivo de configuração.

<system.serviceModel>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <bindings>
      <basicHttpBinding>
        <binding name="Binding_basicHttp">
          <readerQuotas maxDepth="1000000000" maxStringContentLength="1000000000" maxArrayLength="1000000000" maxBytesPerRead="1000000000" maxNameTableCharCount="1000000000"/>
        </binding>
      </basicHttpBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="ServiceBehavior_MetaAndDebug" name="Service1">
        <endpoint binding="basicHttpBinding" name="Service1Endpoint_basicHttp" contract="IService1">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
        <endpoint address="/mex" binding="mexHttpBinding" bindingConfiguration="" name="Service1Endpoint_mex" contract="IMetadataExchange"/>
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost/Site/Service1/"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior_MetaAndDebug">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top