Ошибки службы WCF после установки обновлений WindowsXP
Приветствия,
Сегодня, прежде чем я начну работать над своим приложением, я обновил свой WinXP. После того, как все обновления установлены, моя служба WCF перестает работать. При попытке открыть файл service.svc в браузере возникает следующая ошибка:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: An error occurred creating the configuration section handler for system.serviceModel/bindings: Could not load type 'System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement' from assembly 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Source Error:
Line 131: </behaviors>
Line 132:
Line 133: <bindings>
Line 134: <wsHttpBinding>
Line 135: <binding name="MyWSHttpBinding" maxReceivedMessageSize="2147483647">
Мой коллега попытался запустить ту же службу до обновления, и она работает нормально. У него такая же проблема после установки обновлений. Может кто-нибудь, пожалуйста, помогите мне?
Ответы
Ответ 1
До сих пор проблема действительно возникла из обновления KB982168 и только на серверах 2003 года. Поддержка Microsoft подозревает ошибку в конструкторе HttpTransportSecurity, который пытается создать экземпляр объекта ExtendedProtectionPolicy, но этот класс не существует в system.dll на сервере 2003 (или на компьютерах XP) (вы можете проверить с помощью отражателя). И это действительно присутствует в DLL на 2008 или Vista и выше. Если проблема подтвердится, я думаю, что скоро будет выпущено горячее исправление. Тем не менее рекомендуется не устанавливать обновление. Я буду информировать вас.
Ответ 2
Проблема возникает из-за неправильного поведения компонента установщика пути. Это присутствует в нескольких исправлениях и может привести к неправильному порядку установки или пропустить установку патча.
Вот горячее решение для решения этой проблемы, данное командой поддержки Microsoft.
- установите KB982168, который должен воспроизвести ошибку.
- Обратите внимание на версию% WINDIR%\Microsoft.NET\Framework\v2.0.50727\system.dll(должно быть 2.0.50727.3053)
- загрузите исправление KB975954:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=26146
Вам нужно будет выбрать пакет
соответствующие вашей ОС
архитектура: NDP20SP2-KB975954-x86.exe(MSI), NDP20SP2-KB975954-x64.exe(MSI), NDP20SP2-KB975954-IA64.exe(MSI)
- Установите соответствующее исправление для архитектуры вашей ОС.
- Выполните следующую командную строку из повышенной подсказки:
msiexec/f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
- Проверьте версию% WINDIR%\Microsoft.NET\Framework\v2.0.50727\system.dll(должно быть 2.0.50727.4443)
Я установил это на тестовый сервер, и он решил проблему.
Без сомнения, это скоро будет интегрировано в обновление Windows.
Надеюсь, что это поможет.
Ответ 3
Я просто хотел сообщить, что официальная статья KB для этой проблемы была опубликована в следующем месте: http://support.microsoft.com/kb/2262911
Обходной путь, описанный выше, является правильным и является тем же обходным решением, которое вы найдете в этой статье в KB.
Патч, указанный в статье KB, был проверен для решения проблемы установки, а также для безопасной среды. Мы также опубликуем в статье KB исправление Fix-It для беспрепятственного решения этой проблемы без необходимости прохождения шагов обхода. Учитывая, что мы определили причину этой проблемы, все предыдущие исправления, которые приводят к сбою установки, будут соответствующим образом обновлены.
Важно, чтобы приложения WCF были разблокированы и смогли успешно установить Windows Update KB # 982167 и/или 982168 на всех компьютерах. Если вы удалили Центр обновления Windows, пожалуйста, следуйте статье KB, чтобы получить это обновление на вашем компьютере.
Извините за неудобства.
Спасибо,
Erica
Диспетчер программ Microsoft
Ответ 4
Я исправил эту проблему, удалив KB976769v2.
Ответ 5
Я сообщил об ошибке Microsoft. Я буду ждать вызова от технической поддержки.