Update: URIs in einem WCF-WSDL-Dokument beziehen sich auf nicht zugegriffen internen Instanzen statt der Lastenausgleich erwartungsgemäß in.NET Framework 3.0 in Windows Server 2003, Windows XP, Windows Vista und Windows Server 2008

Problembeschreibung

Windows Communication Foundation (WCF)-Dienst in Szenarien mit Lastenausgleich in der Microsoft.NET Framework 3.0 in Windows Server 2003, Windows XP, Windows Vista und Windows Server 2008 verwenden, treten eines oder mehrere der folgenden Probleme:

Problem 1

Betrachten Sie das folgende Szenario:
  • Microsoft Azure SDK und Windows Azure-Tools installiert für Microsoft Visual Studio.
  • Sie Cloud Service-Projekt erstellen und dem Projekt einen Windows Communication Foundation (WCF)-Dienst hinzuzufügen.
  • Das Projekt in der entwicklungsfabric Debuggen.
  • Sie suchen nach dem Dokument Web Service Definition Language (WSDL) des WCF-Diensts.
In diesem Szenario Beachten Sie, dass die URIs im WSDL-Dokument finden Sie auf interne Website nicht zugegriffen Instanzen (Http://127.0.0.1:5001/Service.svc?wsdl). Sie erwarten jedoch die URIs im WSDL-Dokument Lastenausgleich (Http://127.0.0.1:81/Service.svc?wsdl) auf. Außerdem, wenn Sie versuchen, einen Verweis auf den Dienst hinzufügen, erhalten Sie eine Benachrichtigung darüber, dass im Dialogfeld Dienstverweis hinzufügen .

Problem 2

Betrachten Sie das folgende Szenario:
  • Sie hosten ein WCF-Diensts in einer Instanz hinter einem Lastenausgleich.
  • Sie verwenden den Befehl "Dienstverweis hinzufügen" oder das Befehlszeilentool svcutil.exe Metadaten aus dem Dienst herunterladen.
In diesem Szenario fehl versuchen zum Generieren eines Proxys aus den Metadaten Prozesses Metadaten URIs, interne Website Instanzen Verweis enthält.

Ursache

Im Abschnitt "Symptome" beschriebenen Probleme auftreten, weil der Lastenausgleich extern zugegriffen wird. Die interne Website Instanzen hinter den Lastenausgleich allerdings werden nicht zugegriffen.

Problemlösung

Hinweis Wenn Sie.NET Framework 3.5 Service Pack 1 auf Windows 7 oder Windows Server 2008 R2 verwenden, installieren Sie im folgenden Artikel der Microsoft Knowledge Base beschriebene Hotfix:
977420 ist ein Hotfixrollup zur Problembehebung in Windows Communication Foundation in.NET Framework 3.5 SP1 für Windows 7 und Windows Server 2008 R2

Hotfix-Informationen

Ein unterstützter Hotfix ist von Microsoft erhältlich. Dieser Hotfix soll nur der Behebung des Problems dienen, das in diesem Artikel beschrieben wird. Verwenden Sie diesen Hotfix nur auf Systemen, bei denen dieses spezielle Problem auftritt. Dieser Hotfix sollte weiteren Tests unterzogen werden. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir sie, auf das nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Um diesen Hotfix aus der MSDN Code Gallery herunterzuladen, besuchen Sie folgende Microsoft-Website:

Hinweis Der MSDN Code Gallery zeigt die Sprachen an, für die der Hotfix verfügbar ist. Die aufgeführten Sprache nicht angezeigt wird, ist der Code Gallery-Ressourcenseite nicht für diese Sprache steht.

Hinweis Falls weitere Probleme auftreten oder andere Schritte zur Problembehandlung erforderlich sind, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die nicht diesem speziellen Hotfix zugeordnet werden können. Für eine vollständige Liste der Telefonnummern des Microsoft Customer Service and Support, oder um eine separate Serviceanfrage zu erstellen, gehen Sie auf folgende Microsoft-Website:

Voraussetzungen

Um diesen Hotfix anwenden zu können, muss.NET Framework 3.5 Service Pack 1 (SP1) oder.NET Framework 3.0 Service Pack 2 (SP2) auf eines der folgenden Betriebssysteme installiert sein:
  • Windows XP
  • Windows Server 2003
  • Windows Vista SP2
  • Windows Server 2008 SP2

Hinweis Eine Windows 7 oder Fenster Server 2008 R2 Version dieses Hotfixes klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
981002 Ein Hotfixrollup steht für Windows Communication Foundation in.NET Framework 3.5 SP1 für Windows 7 und Windows Server 2008 R2

Neustartanforderung

Sie müssen keinen Neustart des Computers nach der Installation dieses Hotfixes durchführen.

Informationen zu ersetzten Hotfixes

Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.
X86-basierte Version für Windows XP und Windows Server 2003
DateinameDateiversionDateigrößeDatumZeitPlattform
Servicemonikersupport.dll3.0.4506.445617,25608-Dec-200923:03x86
Smdiagnostics.dll3.0.4506.4456110,59208-Dec-200923:03x86
System.identitymodel.dll3.0.4506.4456438.27208-Dec-200923:03x86
System.runtime.serialization.dll3.0.4506.4456970,75208-Dec-200923:03x86
System.servicemodel.dll3.0.4506.44565,984,25608-Dec-200923:03x86
System.servicemodel.washosting.dll3.0.4506.445632.76808-Dec-200923:03x86
X64-basierte Version für Windows XP und Windows Server 2003
DateinameDateiversionDateigrößeDatumZeitPlattform
Servicemonikersupport.dll3.0.4506.445619,30408-Dec-200922:24x64
Smdiagnostics.dll3.0.4506.445694,20808-Dec-200922:24x64
System.identitymodel.dll3.0.4506.4456397,31208-Dec-200922:24x64
System.runtime.serialization.dll3.0.4506.4456847,87208-Dec-200922:24x64
System.servicemodel.dll3.0.4506.44565,324,80008-Dec-200922:24x64
System.servicemodel.washosting.dll3.0.4506.445632.76808-Dec-200922:24x64
X86-basierte Version für Windows Vista SP2 und Windows Server 2008 SP2
DateinameDateiversionDateigrößeDatumZeitPlattform
Servicemonikersupport.dll3.0.4506.414317,24008-Jul-200912:26x86
System.runtime.serialization.dll3.0.4506.4143970,75208-Jul-200912:26x86
System.servicemodel.dll3.0.4506.41435,939,20008-Jul-200912:26x86

X64-basierte Version von Windows Vista SP2 und Windows Server 2008 SP2
DateinameDateiversionDateigrößeDatumZeitPlattform
Servicemonikersupport.dll3.0.4506.414319,28808-Jul-200912:26x64
System.runtime.serialization.dll3.0.4506.4143847,87208-Jul-200912:26x64
System.servicemodel.dll3.0.4506.41435,275,64808-Jul-200912:26x64

Itanium-basierte Version von Windows Server 2008 SP2
DateinameDateiversionDateigrößeDatumZeitPlattform
Servicemonikersupport.dll3.0.4506.414333,64008-Jul-200912:27IA-64
System.runtime.serialization.dll3.0.4506.4143847,87208-Jul-200912:26IA-64
System.servicemodel.dll3.0.4506.41435,275,64808-Jul-200912:26IA-64

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen

Zum Aktivieren des Updates nach der Installation müssen Sie das folgende Dienstverhalten verwenden den WCF-Dienst zu konfigurieren:
<serviceBehaviors>   <behavior name="<name>">
<useRequestHeadersForMetadataAddress>
<defaultPorts>
<add scheme="http" port="81" />
<add scheme="https" port="444" />
</defaultPorts>
</useRequestHeadersForMetadataAddress>
</behavior>
</serviceBehaviors>

Hinweis < Name > ist ein Platzhalter, den Sie in den WCF-Dienst mit dem Namen Verhalten ersetzen soll.

Der Hotfix wird WCF den entsprechenden URI mit "Host"-HTTP-Headers der eingehenden Metadatenanforderung generieren. In diesem Fall enthält der Header "Host" Load Balancer Adresse statt der internen Knoten.

Hat ein URI im WSDL-Dokument ein anderen Schema als dem Schema "Host" Header URI, z. B. benötigen Wenn eine Anforderung für Metadaten über HTTPS Metadaten enthält HTTP-URIs Hotfix die Portnummer, anderes Schema für. Die Portnummer kann pro Abschnitt < DefaultPorts > Schema angegeben werden.
Eigenschaften

Artikelnummer: 971842 – Letzte Überarbeitung: 13.01.2017 – Revision: 1

Feedback