none
WCF auf IIS 8.0 -> There was no channel actively listening RRS feed

  • Frage

  •  Hallo,

    ich verwende einen WCF-Dienst (über Ajax soll E-Mail-Erinnerung gesendet werden) auf dem IIS 7.5 ohne Probleme. Nun beabsichtigte ich auf Windows Server 2012 zu wechseln. Die ASP.NET-Seiten funktionieren ohne Probleme. Nur der WCF-Dienst versagt auf dem neuen Server den Dienst.

    Clientseitig erhalte ich die Fehlermeldung:

    Server Error in '/' Application.
    The resource cannot be found.
    Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

    Requested URL: /service.svc/erinnerung'

    Serverseitig ist dem Event-Log folgendes zu entnehmen: 

    WebHost failed to process a request.
     Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/41231350
     Exception: System.Web.HttpException (0x80004005): There was no channel actively listening at 'https://www.[Domain].com/service.svc/erinnerung'. This is often caused by an incorrect address URI. Ensure that the address to which the message is sent matches an address on which a service is listening. ---> System.ServiceModel.EndpointNotFoundException: There was no channel actively listening at 'https://www.[Domain].com/service.svc/erinnerung'. This is often caused by an incorrect address URI. Ensure that the address to which the message is sent matches an address on which a service is listening.
       at System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
       at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
       at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)
     Process Name: w3wp
     Process ID: 3508

    Ich habe bspw. fehlende Roles/Features nachträglich installiert (wie unter http://stackoverflow.com/questions/11116134/wcf-on-iis8-svc-handler-mapping-doesnt-work) angegeben. Also .NET 3.5 und 4.5 Features sind nun vollständig drauf. Brachte aber nichts. Was könnte die Ursache sein? (wie gesagt, unter IIS 7.5 funktioniert es ohne Probleme).

    Möglicherweise hilft auch folgendes aus der web.config:

    <bindings>
    <wsHttpBinding>        
        <binding name="AjL" maxBufferPoolSize="1000000000" maxReceivedMessageSize="100000000" allowCookies="true" messageEncoding="Mtom">          
            <security mode="Transport">
                <transport clientCredentialType="None"/>
            </security>
        </binding>      
    </wsHttpBinding>
    </bindings>        
    <behaviors>      
        <serviceBehaviors>        
            <behavior name="Lga">
                <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
                <serviceDebug includeExceptionDetailInFaults="true"/>
            </behavior>
            <behavior name="">
                <serviceMetadata httpGetEnabled="true"/>
                <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>
    <services>
        <service name="Berechnen.AjLg" behaviorConfiguration="Lga">
            <endpoint name="n1" address="" binding="wsHttpBinding" bindingConfiguration="Lga" contract="Berechnen.IContract"/>
            <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
        </service>
    </services>

    Ich danke für Tipps im Voraus.

    Grüße
    Ron


    • Bearbeitet Ronald Siegel Freitag, 1. Februar 2013 01:11 Korrektur
    Freitag, 1. Februar 2013 01:10

Antworten

  • Ich habe für mich eine Lösung gefunden, obgleich ich es überhaupt nicht verstehe. Ich habe in der web.config die entsprechenden Knoten entfernt, die wsHttpBinding deklarieren und auch den Service-Knoten, der das wsHttpBinding eingebunden hat. Aber diese Lösung bleibt für mich unverständlich!
    • Als Antwort markiert Ronald Siegel Montag, 4. Februar 2013 01:12
    Montag, 4. Februar 2013 01:11

Alle Antworten

  • Hallo,

    Ergänzung: Was mich wundert ist, dass ich den WCF-Dienst (auf IIS 8.0) ohne Probleme per Dienstverweis in einer Anwendung hinzufügen kann und er auch dort funktioniert. In der web.config ist - wie auch schon zuvor auf dem IIS 7.5 - die ASP.NET-Kompatibilität eingestellt:

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
    Aber immer noch bin ich ratlos, warum aus Ajax heraus dieser Dienst nun Probleme bereitet...
    Samstag, 2. Februar 2013 00:50
  • Ich habe für mich eine Lösung gefunden, obgleich ich es überhaupt nicht verstehe. Ich habe in der web.config die entsprechenden Knoten entfernt, die wsHttpBinding deklarieren und auch den Service-Knoten, der das wsHttpBinding eingebunden hat. Aber diese Lösung bleibt für mich unverständlich!
    • Als Antwort markiert Ronald Siegel Montag, 4. Februar 2013 01:12
    Montag, 4. Februar 2013 01:11
  • Unglaublich, jetzt trat das Verhalten auch auf dem IIS 7.5 ein... und ich verstehe immer noch nicht, warum ich den wsHttpBinding-Knoten aus der web.config entfernen muss!
    Mittwoch, 4. Dezember 2013 15:50