Проблема
Рассмотрим следующий сценарий.
- На компьютере установлена ОС Windows 7 или Windows Server 2008 R2.
- На компьютере работает служба Windows Communication Foundation (WCF), а место службы размещено в службах IIS. Служба использует протокол HTTP или HTTPS и применяет проверку подлинности Windows.
- Вы устанавливаете некоторые обновления Microsoft платформа .NET Framework 3.0 с пакетом обновления 2 (SP2) или .NET Framework 3.5 с пакетом обновления 1 (SP1) для WCF. Например, вы устанавливаете обновление безопасности 2756920.
В этом сценарии на запрашиваемой странице может появиться сообщение об ошибке исключения, похожее на следующее:
Примечание
Ошибка сервера в приложении /SecurtyTokenServiceApplication
Метод не найден: 'System.String
System.ServiceModel.Ativation.iis7helper.extendedprotectiondotlessspnnotenabledthrowhelper(system.object)'
Например, сообщение об ошибке может появиться при переходе на веб-сайт Microsoft SharePoint 2010.
При возникновении этой проблемы в журнале событий на сервере также может появиться следующее сообщение об ошибке:
Примечание
WebHost не удалось обработать запрос.
Сведения об отправителе: System.ServiceModel.ServiceHostingEnvironment+HostingManager/17653682
Исключение. System.ServiceModel.ServiceActivationException: служба "/SecurityTokenServiceApplication/securitytoken.svc" не может быть активирована из-за исключения во время компиляции.
Сообщение об исключении: Метод не найден: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.. --->
System.MissingMethodException: метод не найден: 'System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)'.
в System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.BuildExtendedProtectionPolicy(ExtendedProtectionTokenChecking tokenChecking, ExtendedProtectionFlags flags, List'1 spnList)
в System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.GetExtendedProtectionPolicy(элемент ConfigurationElement)
в System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.ProcessWindowsAuthentication(String siteName, String virtualPath, HostedServiceTransportSettings& transportSettings)
Причина
Эта проблема возникает из-за того, что на компьютере могут быть установлены исправления, содержащие только System.ServiceModel.dll и не содержащие System.ServiceModel.WasHosting.dll. В разделе «Дополнительные сведения» см. список исправлений, которые, как известно, содержат только эти файлы.
Из-за этой проблемы в последнем обновлении невозможно установить одну и ту же версию обоих файлов. Это выявит зависимость между двумя файлами. Это, в свою очередь, вызывает ранее упомянутое исключение. Эта проблема возникает из-за проблемы в ранее выпущенных исправлениях и не вызвана конкретно новым обновлением. Новое обновление просто вызывает проблему.
Решение
Чтобы обойти эту проблему, убедитесь, что версии System.ServiceModel.dll и System.ServiceModel.WasHosting.dll синхронизированы.
Чтобы решить эту проблему, установите обновление [2637518](/kb/2637518semblies.
Рекомендуем установить обновление [2637518](/kb/2637518o исправить только ту проблему, которая описана в этой статье. Примените это исправление только к системам, в которых возникает эта конкретная проблема.
Чтобы скачать это исправление из Центра загрузки Майкрософт, перейдите на следующую веб-страницу Центра загрузки Майкрософт:
http://go.microsoft.com/fwlink/?LinkID=242859 Примечание Если вы уже столкнулись с этой проблемой, установите обновление [2637518](/kb/2637518issue на Surface.
Необходимость перезапуска
После применения этого обновления может потребоваться перезагрузить компьютер.
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Дополнительные сведения
Следующие исправления могут вызывать эту проблему, если они установлены на компьютере с Windows 7 или Windows Server 2008 R2 RTM и если не установлены новые обновления .NET Framework 3.5 с пакетом обновления 1 (SP1) для WCF. Чтобы просмотреть статьи в базе знаний Майкрософт, щелкните следующие номера статей:
976462 Исправление для the.NET Framework 3.5 с пакетом обновления 1 (SP1) доступно для Windows 7 и Windows Server 2008 R2 в качестве предварительного условия для Microsoft Office SharePoint Server 2010
977420 Доступен накопительный пакет исправлений для исправления проблем в Windows Communication Foundation в .NET Framework 3.5 SP1 для Windows 7 и Windows Server 2008 R2
982867 службы WCF, размещенные на компьютерах вместе с балансировкой сетевой нагрузки, не работают в платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) или в платформа .NET Framework 4