Frage

Ich habe einen WCF-Dienst, der auf dem VS-Entwicklungsserver einwandfrei funktioniert. Wenn ich jedoch zu den Projekteinstellungen gehe und die Server auf der Registerkarte "Web" so ändere, dass stattdessen der lokale IIS-Webserver verwendet wird, wird eine BadImageFormatException angezeigt.Ich weiß, dass dies normalerweise verursacht wird, wenn eine 32-Bit-App auf eine 64-Bit-DLL verweist.Alle meine Assemblys sind für AnyCPU erstellt.

Ich weiß nicht genau, welche Informationen hier hilfreich sind. Schreiben Sie daher einen Kommentar und ich werde die Frage nach Bedarf bearbeiten.

Für den Anfang werde ich sagen, dass ich die Autofac WCF-Integration verwende (was wiederum auf dem VS Dev-Server und nicht auf IIS funktioniert).Ich sollte auch hinzufügen, dass ich die IIS-Einstellungen überprüft habe.Konfiguriert für DefaultAppPool, das auf .NET 4 Integrated Pipeline eingestellt ist.Anonyme Authentifizierung aktiviert, Windows deaktiviert.

Hier ist ein Beispiel meiner Konfigurationsdatei.

<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>

War es hilfreich?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top