Windows 7'de IIS'de barındırılan veya Windows ServerWindows Server 2008 R2 olan WCF hizmetleri, .NET Framework.NET Framework 3.5 SP1 for WCF için bir güncelleştirme yüklendikten sonra bir özel durum hata iletisi alabilir

Uygulandığı Öğe
Windows Communication Foundation

Belirtiler

Aşağıdaki senaryoyu ele alalım:

  • Bilgisayarınızda Windows 7 veya Windows ServerWindows Server 2008 R2.
  • Bilgisayar Windows Communication Foundation (WCF) hizmetini çalıştırmaktadır ve hizmet Internet Information Services (IIS) üzerinde barındırılmaktadır. Hizmet, HTTP veya HTTPS protokolünü kullanır ve Windows Kimlik Doğrulaması kullanır.
  • Bazı Microsoft .NET Framework.NET Framework 3.0 Service Pack 2 veya .NET Framework.NET Framework 3.5 Service Pack 1 for WCF güncelleştirmelerini yüklersiniz. Örneğin, güvenlik güncelleştirmesi 2756920 yüklersiniz.

Bu senaryoda, istenen sayfada aşağıdakine benzer bir özel durum hata iletisi alabilirsiniz:

Not

'/SecurtyTokenServiceApplication' Uygulamasında Sunucu Hatası
Yöntem bulunamadı: 'System.String
System.ServiceModel.Ativation.iis7helper.extendedprotectiondotlessspnnotenabledthrowhelper(system.object)'

Örneğin, bir Microsoft SharePoint 2010 web sitesine gittiğinizde hata iletisini alabilirsiniz. 

Bu sorun oluştuğunda, sunucudaki olay günlüğünde aşağıdaki hata iletisini de alabilirsiniz:

Not

WebHost bir isteği işleyemedi.
Gönderen Bilgileri: System.ServiceModel.ServiceHostingEnvironment+HostingManager/17653682
Özel durum: System.ServiceModel.ServiceActivationException: '/SecurityTokenServiceApplication/securitytoken.svc' hizmeti, derleme sırasındaki bir özel durum nedeniyle etkinleştirilemiyor.
Özel durum iletisi şöyledir: Yöntem bulunamadı: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.. --->
System.MissingMethodException: Yöntem bulunamadı: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.
   at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.BuildExtendedProtectionPolicy(ExtendedProtectionTokenChecking tokenChecking, ExtendedProtectionFlags flags, List'1 spnList)
    at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.GetExtendedProtectionPolicy(ConfigurationElement öğesi)
   at System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.ProcessWindowsAuthentication(String siteName, String virtualPath, HostedServiceTransportSettings& transportSettings)

Neden

Bu sorun, bilgisayarda yalnızca System.ServiceModel.dll içeren ve System.ServiceModel.WasHosting.dll içermeyen bazı düzeltmeler yüklenmiş olabileceğinden oluşur. Yalnızca bu dosyaları içerdiği bilinen düzeltmelerin listesi için "Ek Bilgi" bölümüne bakın.

Bu sorun nedeniyle, yeni güncelleştirme her iki dosyanın da aynı sürümünü yükleyemez. Bu, iki dosya arasında bir bağımlılığı ortaya çıkarır. Bu da daha önce bahsedilen istisnaya neden olur. Bu sorun, daha önce yayımlanan düzeltmelerdeki bir sorun nedeniyle oluşur ve özel olarak yeni güncelleştirmeden kaynaklanmamaktadır. Yeni güncelleme yalnızca sorunun ortaya çıkmasına neden olur.

Çözüm

        
        
        
Bu sorunu geçici olarak gidermek için, System.ServiceModel.dll ve System.ServiceModel.WasHosting.dll sürümlerinin eşitlenmiş olduğundan emin olun.

Bu sorunu çözmek için, 2637518 derlemesini veya her iki derlemeyi de içeren herhangi bir .NET Framework 3.0 SP2 düzeltmesini yükleyin.

Bu sorunu çözmek için 2637518 güncelleştirmesini yüklemenizi öneririz. Ancak, bu düzeltme yalnızca bu makalede açıklanan sorunu düzeltmeye yöneliktir. Bu düzeltmeyi yalnızca bu sorunun yaşandığı sistemlere uygulayın.

Bu düzeltmeyi Microsoft İndirme Merkezi'nden indirmek için aşağıdaki Microsoft İndirme Merkezi web sayfasına gidin:

http://go.microsoft.com/fwlink/?LinkID=242859 Not Bu sorunu zaten yaşıyorsanız 2637518 güncelleştirmesini yükleyin. Bu sorunun su yüzüne çıkmasına neden olan güncelleştirmeyi yeniden yüklemeniz gerekmez.

Yeniden başlatma gereksinimi

Bu güncelleştirmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekebilir.

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Daha Fazla Bilgi

Aşağıdaki düzeltmeler, Windows 7 veya Windows Server 2008 R2 RTM çalıştıran bir bilgisayara yüklenmişse ve WCF için yeni .NET Framework 3.5 SP1 güncelleştirmeleri yüklenmemişse bu soruna neden olabilir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarına tıklayın:

976462 Microsoft Office SharePoint Server 2010 için önkoşul olarak Windows 7 ve Windows Server 2008 R2 için the.NET Framework 3.5 Service Pack 1 için bir düzeltme sağlanır

977420 Windows 7 ve Windows Server 2008 R2 için .NET Framework 3.5 SP1'de Windows Communication Foundation'daki sorunları gidermek için bir düzeltme paketi kullanılabilir

982867 NLB ile birlikte bilgisayarlar tarafından barındırılan WCF hizmetleri .NET Framework 3.5 SP1'de veya .NET Framework 4'te başarısız olur