2010-06-09 3 views
14

Приветствия,Ошибки службы 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"> 

Коллега моего пытался запустить ту же услугу перед обновлением и она отлично работает. У него такая же проблема после установки обновлений. Может кто-нибудь, пожалуйста, помогите мне?

+0

Я не могу воспроизвести, извините - как WCF 3,5 и 4 .svcs работал нормально для меня после обновления без перекомпиляции: -/Это звучит, как вы 're running 3.5, и у вас есть две сборки, которые теперь не синхронизированы: были два обновления .NET 3.5SP1, KB982168 и KB979909 - вы определенно установили оба? В противном случае у меня нет хороших идей - есть обычный 'ServiceModelReg -i', который стоит попробовать, но это не похоже на проблему. – Rup

+0

Кажется, у меня нет KB982168. Где я могу это найти? Я не могу найти его на сайте обновлений MS. –

+0

даже после установки выше обновления проблема все еще встречается –

ответ

5

До сих пор проблема действительно связана с обновлением KB982168 и только на серверах 2003 года. Поддержка Microsoft подозревает ошибку в конструкторе HttpTransportSecurity, который пытается создать экземпляр объекта ExtendedProtectionPolicy, но этот класс не существует в system.dll на сервере 2003 (или на компьютерах XP) (вы можете проверить с помощью отражателя). И это действительно присутствует в DLL на 2008 или Vista и выше. Если проблема подтвердится, я думаю, что скоро будет выпущено горячее исправление. Тем не менее рекомендуется не устанавливать обновление. Я буду держать вас в курсе.

+0

Есть ли официальные комментарии или советы по этому вопросу от Microsoft? –

+0

Еще нет, поддержка сказала мне, что они вернутся ко мне через 2 или 3 дня с дополнительной информацией. –

+0

Приветствуем, есть ли дополнительные отзывы от Microsoft? –

3

Я исправил эту проблему, удалив KB976769v2.

1

Я сообщил об ошибке Microsoft. Я буду ждать вызова от технической поддержки.

+0

ok, пожалуйста, поделитесь ответом здесь;) –

+0

не беспокойтесь, я буду. Тем временем я пытаюсь unistall обновления KB982168, чтобы узнать, разрешила ли она проблему, как это было для вас. –

+0

i unistalled KB979909, и он решил проблему на данный момент, а также .... Я все еще жду обратной связи с Microsoft. –

5

Проблема возникает из-за неправильного поведения компонента установщика путей. Это присутствует в нескольких исправлениях и может привести к неправильному порядку установки или пропущению установки патча.

Вот исправление для решения этой проблемы, данное службой поддержки 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/е {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
  • Проверьте версию% WINDIR% \ Microsoft.NET \ Framework \ v2.0.50727 \ system.dll (должно быть 2.0.50727.4443)

Я установил это на тестовый сервер, и он решил проблему.

Несомненно, что это будет скоро интегрировано при обновлении Windows.

Надеюсь, что это поможет.

+0

Не возражаете, зная, что работает msiexec на этом guid фактически * сделал *, но что бы он ни делал, казалось бы, все исправлено. Так что это круто. – neminem

+1

msiexec/f является laucnh для восстановления продукта или пакета, а GUID - GUID .NET Framework 2.0 с пакетом обновления 2 (SP2). Подробнее здесь: http://blogs.msdn.com/b/astebner/archive/2009/04/16/9553804.aspx –

5

Я просто хотел сообщить, что официальная KB статья для этой проблемы была размещена по следующему адресу: http://support.microsoft.com/kb/2262911

Обходного описано выше правильно и тот же обходной путь, который вы найдете в этой статье базы знаний.

Патч, указанный в статье базы знаний, был проверен для решения проблемы установки, а также безопасности для производственных сред. Мы также опубликуем в статье KB исправление Fix-It для беспрепятственного решения этой проблемы без необходимости прохождения шагов обхода. Учитывая, что мы определили причину этой проблемы, все предыдущие исправления, которые приводят к сбою установки, будут соответствующим образом обновлены.

Важно, чтобы приложения WCF были разблокированы и смогли успешно установить Windows Update KB # 982167 и/или 982168 на всех компьютерах. Если вы удалили Центр обновления Windows, пожалуйста, следуйте статье KB, чтобы получить это обновление на вашем компьютере.

Приносим извинения за неудобства.

Спасибо,

Erica Microsoft Руководитель программы