none
IIS wcf Aktivierung .Net Framework 4.5.2 RRS feed

  • Frage

  • Hallo zusammen,

    ich muss auf einem IIS einen WCF Service zum laufen bringen, leider bekomme ich allerdings immer die Fehlermeldung:

    This is a Windows© Communication Foundation service.
    Metadata publishing for this service is currently disabled.

    Ich habe folgendes Installationen:

    - Windows Server 2008 R2 64-Bit

    - Microsoft .NET Framework 4.5.2

    - IIS 7.5

    - Features:

    http://www.fotos-hochladen.net/view/features8o4nu2lhtc.png

    - Rollen:

    http://www.fotos-hochladen.net/view/rollen4rz28cnfqi.png

    Die Web.config sieht wie folgt aus:

       

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>

      <system.web>
        <compilation debug="true" defaultLanguage="c#" maxBatchGeneratedFileSize="10000" targetFramework="4.0" />
            <identity impersonate="false" />
            <authentication mode="Windows" />
      </system.web>
      <system.serviceModel>
        <bindings>
       <basicHttpBinding>
    <binding name="basicHttpBinding1" allowCookies="true" receiveTimeout="00:10:00" sendTimeout="00:10:00" openTimeout="00:10:00" closeTimeout="00:10:00" transferMode="Buffered" messageEncoding="Text" textEncoding="utf-8" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647">
    <readerQuotas maxArrayLength="2147483647" maxDepth="32" maxStringContentLength="2147483647" />
    </binding>
        </basicHttpBinding>

       <!--<wsHttpBinding>
        <binding name="wsBinding" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"  >
          <readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647" />
        </binding>
       </wsHttpBinding> -->
      </bindings>
        <services>
          <service name="K3WCFWebData.SVService" behaviorConfiguration="Metadata">
            <endpoint address="http://62.112.50.133/K3WCFWebData/SVServices" binding="basicHttpBinding" contract="K3WCFWebData.ISVService">
    </endpoint>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="Metadata">
              <!-- To avoid disclosing metadata information, set the value below to false before deployment -->
              <serviceMetadata httpGetEnabled="true" />
              <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
              <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment minFreeMemoryPercentageToActivateService="0" multipleSiteBindingsEnabled="true" />
      </system.serviceModel>
     <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
        <!--
            To browse web app root directory during debugging, set the value below to true.
            Set to false before deployment to avoid disclosing web app folder information.
          -->
        <directoryBrowse enabled="true" />
            <handlers accessPolicy="Read, Execute, Script" />
      </system.webServer>
    <system.diagnostics>
        <sources>
          <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
            <listeners>
              <add name="ServiceModelTraceListener" />
            </listeners>
          </source>
          <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
            <listeners>
              <add name="ServiceModelTraceListener" />
            </listeners>
          </source>
          <source name="System.Runtime.Serialization" switchValue="Verbose,ActivityTracing">
            <listeners>
              <add name="ServiceModelTraceListener" />
            </listeners>
          </source>
        </sources>
        <sharedListeners>
          <add initializeData="App_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp" />
        </sharedListeners>
      </system.diagnostics>
    </configuration>

    Im Service befindet sich folgendes:

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

    Leider bin ich kein IIS Experte und habe jetzt nach < 10 Stunden suchen keine Ahnung mehr, wo ich noch suchen kann.

    Hat jemand eine Ahnung und kann mir helfen? 

    Vielen Vielen Dank schon mal im Voraus!



    Jan

    Samstag, 25. Juli 2015 17:28

Alle Antworten

  • Hi,

    läuft dieser Service mit dieser web.config denn auf dem Entwicklungs PC?

    Es wird im endpoint Node ein binding mit dem Namen "basicHttpBinding" angegeben, das gibt es aber gar nicht. Das einzige binding, das deklariert ist, trägt den Namen "basicHttpBinding1". Ggfs. hilft das schon. Falls nicht, meld dich bitte nochmal.

    Stell bitte zudem im Code sicher, dass der Dienst wirklich mit diesem Namen erreichbar ist:

      K3WCFWebData.SVService


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Samstag, 25. Juli 2015 19:27
    Moderator
  • Hey,

    erstmal Danke für deine Antwort!

    Also auf dem Entwickler PC läuft der Service so mit dieser web.config. Ich habe trotzdem eben die "1" hinter dem Bindings entfernt bzw. auch einmal am anderen Binding angehängt, leider keine Änderung in der Fehlermeldung.

    Ich vermute dadurch das es auf dem Entwickler IIS läuft, hängt es an der IIS Konfiguration (mit meinem gefährlichen Halbwissen). Ich habe erst .Net Framework 4.5.2 installiert. Später kam dann Das Feature WCF Aktivierung hinzu. Leider gibt es dieses ja nur in .Net 3.5

    Die Fehlermeldung war dann eine andere. Aus diversen Microsoft Foren habe ich dann "C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i -enable" ausgeführt. Danach hatte ich wieder den alten Fehler (Metadata publishing for this service is currently disabled.).

    Könnte es hier eventuell noch irgendwo haken? Oder gibt es eventuell ein Tool oder eine Möglichkeit, noch mehr Fehler auszulesen?

    Im App_tracelog.svclog habe ich diesen Fehler häufiger:

    <E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">

    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
    <EventID>524312</EventID>
    <Type>3</Type>
    <SubType Name="Warning">0</SubType>
    <Level>4</Level>
    <TimeCreated SystemTime="2015-07-25T11:17:35.4322069Z" />
    <Source Name="System.ServiceModel" />
    <Correlation ActivityID="{4c9abb56-4ff0-4e83-8136-af6c037a3e52}" />
    <Execution ProcessName="w3wp" ProcessID="5048" ThreadID="10" />
    <Channel />
    <Computer>HZA-DB01</Computer>
    </System>
    <ApplicationData>
    <TraceData>
    <DataItem>
    <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Warning">
    <TraceIdentifier>http://msdn.microsoft.com/de-DE/library/System.ServiceModel.EvaluationContextNotFound.aspx</TraceIdentifier>
    <Description>Configuration evaluation context not found.</Description>
    <AppDomain>/LM/W3SVC/1/ROOT/K3WCFWebData-1-130822966550390497</AppDomain>
    </TraceRecord>
    </DataItem>
    </TraceData>
    </ApplicationData>
    </E2ETraceEvent>

    Mit SvcUtil.exe bekomme ich folgende Ausgabe:

    C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin>SvcUtil.exe /t:metadata http://
    62.112.50.133/K3WCFWebData/SVServices.svc
    Microsoft (R) Service Model Metadata Tool
    [Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.648]
    Copyright (c) Microsoft Corporation.  All rights reserved.

    Attempting to download metadata from 'http://62.112.50.133/K3WCFWebData/SVServic
    es.svc' using WS-Metadata Exchange or DISCO.
    Microsoft (R) Service Model Metadata Tool
    [Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.648]
    Copyright (c) Microsoft Corporation.  All rights reserved.

    Error: Cannot obtain Metadata from http://62.112.50.133/K3WCFWebData/SVServices.
    svc

    If this is a Windows (R) Communication Foundation service to which you have acce
    ss, please check that you have enabled metadata publishing at the specified addr
    ess.  For help enabling metadata publishing, please refer to the MSDN documentat
    ion at http://go.microsoft.com/fwlink/?LinkId=65455.


    WS-Metadata Exchange Error
        URI: http://62.112.50.133/K3WCFWebData/SVServices.svc

        Metadaten enthalten einen Verweis, der nicht aufgelöst werden kann: "http://
    62.112.50.133/K3WCFWebData/SVServices.svc".

        Der Inhaltstyp "application/soap+xml; charset=utf-8" wurde von Dienst "http:
    //62.112.50.133/K3WCFWebData/SVServices.svc" nicht unterstützt. Möglicherweise b
    esteht keine Übereinstimmung zwischen Client- und Dienstbindung.

        Der Remoteserver hat einen Fehler zurückgegeben: (415) Cannot process the me
    ssage because the content type 'application/soap+xml; charset=utf-8' was not the
     expected type 'text/xml; charset=utf-8'..


    HTTP GET Error
        URI: http://62.112.50.133/K3WCFWebData/SVServices.svc

        Das HTML-Dokument enthält keine Webdienst-Suchinformationen.

    If you would like more help, type "svcutil /?"

    Vielen Vielen Dank schon mal.

    Viele Grüße

    Jan

    Montag, 27. Juli 2015 18:29