WCF-Dienste, die unter IIS unter Windows 7 oder Windows Server 2008 R2 gehostet werden, erhalten möglicherweise eine Ausnahmefehlermeldung, nachdem Sie ein Update für die .NET Framework 3.5 SP1 für WCF installiert haben.

Gilt für
Windows Communication Foundation

Symptome

Nehmen Sie folgendes Szenario an:

  • Auf Ihrem Computer wird Windows 7 oder Windows Server 2008 R2 ausgeführt.
  • Auf dem Computer wird der WCF-Dienst (Windows Communication Foundation) ausgeführt, und der Dienst wird in Internetinformationsdienste (IIS) gehostet. Der Dienst verwendet entweder das HTTP- oder das HTTPS-Protokoll und verwendet die Windows-Authentifizierung.
  • Sie installieren einige Microsoft .NET Framework 3.0 Service Pack 2- oder .NET Framework 3.5 Service Pack 1-Updates für WCF. Sie installieren beispielsweise Sicherheitsupdates 2756920.

In diesem Szenario erhalten Sie möglicherweise auf der angeforderten Seite eine Ausnahmefehlermeldung, die der folgenden ähnelt:

Hinweis

Serverfehler in der Anwendung "/SecurtyTokenServiceApplication"
Methode nicht gefunden: 'System.String
System.ServiceModel.Ativation.iis7helper.extendedprotectiondotionlessspnnotenabledthrowhelper(system.object)'

Beispielsweise erhalten Sie möglicherweise die Fehlermeldung, wenn Sie zu einer Microsoft SharePoint 2010-Website wechseln. 

Wenn dieses Problem auftritt, erhalten Sie möglicherweise auch die folgende Fehlermeldung im Ereignisprotokoll auf dem Server:

Hinweis

WebHost konnte eine Anforderung nicht verarbeiten.
Absenderinformationen: System.ServiceModel.ServiceHostingEnvironment+HostingManager/17653682
Ausnahme: System.ServiceModel.ServiceActivationException: Der Dienst "/SecurityTokenServiceApplication/securitytoken.svc" kann aufgrund einer Ausnahme während der Kompilierung nicht aktiviert werden.
Die Ausnahmemeldung lautet: Methode nicht gefunden: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'. --->
System.MissingMethodException: Methode nicht gefunden: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.
   at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.BuildExtendedProtectionPolicy(ExtendedProtectionTokenChecking tokenChecking, ExtendedProtectionFlags flags, List'1 spnList)
    bei System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.GetExtendedProtectionPolicy(ConfigurationElement-Element)
   bei System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.ProcessWindowsAuthentication(String siteName, String virtualPath, HostedServiceTransportSettings& transportSettings)

Ursache

Dieses Problem tritt auf, weil auf dem Computer möglicherweise einige Hotfixes installiert sind, die nur System.ServiceModel.dll und nicht System.ServiceModel.WasHosting.dll enthalten. Im Abschnitt "Weitere Informationen" finden Sie eine Liste der Hotfixes, die bekanntermaßen nur diese Dateien enthalten.

Aufgrund dieses Problems kann das neuere Update nicht dieselbe Version beider Dateien installieren. Dadurch wird eine Abhängigkeit zwischen den beiden Dateien verfügbar gemacht. Dies wiederum verursacht die zuvor erwähnte Ausnahme. Dieses Problem tritt aufgrund eines Problems in zuvor veröffentlichten Hotfixes auf und wird nicht speziell durch das neue Update verursacht. Das neue Update führt lediglich dazu, dass das Problem angezeigt wird.

Lösung

        
        
        
Um dieses Problem zu umgehen, stellen Sie sicher, dass die Versionen von System.ServiceModel.dll und System.ServiceModel.WasHosting.dll synchronisiert sind.

Um dieses Problem zu beheben, installieren Sie update 2637518 oder einen beliebigen .NET Framework 3.0 SP2-Hotfix, der beide Assemblys enthält.

Es wird empfohlen, update 2637518 zu installieren, um dieses Problem zu beheben. Der Hotfix ist jedoch nur zur Behebung des in diesem Artikel beschriebenen Problems vorgesehen. Wenden Sie diesen Hotfix nur auf Systeme an, bei denen dieses spezifische Problem auftritt.

Um diesen Hotfix aus dem Microsoft Download Center herunterzuladen, wechseln Sie zur folgenden Microsoft Download Center-Webseite:

http://go.microsoft.com/fwlink/?LinkID=242859 Hinweis Wenn dieses Problem bereits auftritt, installieren Sie update 2637518. Sie müssen das Update, das dieses Problem verursacht hat, nicht erneut installieren.

Neustartanforderung

Sie müssen den Computer nach der Installation des Updates möglicherweise neu starten.

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Weitere Informationen

Die folgenden Hotfixes können dieses Problem verursachen, wenn sie auf einem Computer mit Windows 7 oder Windows Server 2008 R2 RTM installiert sind und keine neuen .NET Framework 3.5 SP1-Updates für WCF installiert sind. Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:

976462 Ein Hotfix für the.NET Framework 3.5 Service Pack 1 ist für Windows 7 und für Windows Server 2008 R2 als Voraussetzung für Microsoft Office SharePoint Server 2010 verfügbar.

977420 Ein Hotfixrollup ist verfügbar, um Probleme in Windows Communication Foundation im .NET Framework 3.5 SP1 für Windows 7 und für Windows Server 2008 R2 zu beheben.

982867 WCF-Dienste, die von Computern zusammen mit einem NLB gehostet werden, schlagen im .NET Framework 3.5 SP1 oder im .NET Framework 4 fehl.