Симптоми
Да разгледаме следния сценарий:
-
Можете да създадете Windows комуникация фондация (WCF) услуга, която се хоства в Internet Information Services (IIS).
-
Използвате Класът WebScriptEnablingBehavior на WCF услуга.
-
Конфигуриране на услугата на WCF да използва клиентски сертификат за удостоверяване на слой със защитени сокети (SSL). За целта зададете свойството ClientCredentialType във файла Web.config сертификат.
В този случай когато изпълнявате услугата на WCF, хвърлено System.NotSupportedException и получавате съобщение за грешка, подобно на следното:
SSL настройки за услугата "Никой" не отговаря на IIS "Ssl, SslNegotiateCert, SslRequireCert, SslMapCert, Ssl128".
Причина
Този проблем възниква, защото някои свойства на HttpTransportBindingElement съд не се копират автоматично генерирани javascript прокси крайни точки.
Решение
Вече се предлага от Microsoft предоставя поддържана актуална корекция. Но тя е предназначена да коригира само проблема, тази статия. Прилагайте корекцията само към системи, изпитващи този конкретен проблем.
За да разрешите този проблем, се обърнете към услугите за поддръжка на клиенти на Microsoft да получите актуалната корекция. За пълен списък на телефонните номера на отдела за поддръжка на Microsoft и информация за цените на поддръжката посетете следния уеб сайт на Microsoft:
http://support.microsoft.com/contactus/?ws=supportЗабележка: При специални случаи таксите, които са за свързани с поддръжката обаждания могат да бъдат отменени, ако специалист по поддръжката на Microsoft прецени, че конкретна актуализация може да разреши проблема. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към съответната актуализация.
Необходими условия:
Трябва да имате .NET Framework 3.5 Service Pack 1 (SP1) за да приложите тази актуална корекция.
Изискване за рестартиране
Не трябва да рестартирате компютъра, след като инсталирате актуалната корекция.
Информация за заместване на актуалната корекция
Тази актуална корекция не замества други спешни корекции.
Англоезичната версия на тази спешна корекция има файлови атрибути (или по-нови файлови атрибути), които са изброени в следващата таблица. Датите и часовете за тези файлове са изброени в координирано световно време (UTC). При преглед на информацията за файла, преобразувана в местно време. За да намерите разликата между UTC и местното време, използвайте раздела часова зона в елемента " Дата и час " в контролния панел.
x86-базирана версия на Windows Server 2000, Windows Server 2003 и Windows XP
Име на файл |
Версия на файла |
Размер на файла |
Дата |
Време |
Платформа |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
569,344 |
22-Jul-2009 |
01:51 |
x86 |
x64-базирана версия на Windows Server 2000, Windows Server 2003 и Windows XP
Име на файл |
Версия на файла |
Размер на файла |
Дата |
Време |
Платформа |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:13 |
x64 |
Базирани на Itanium версия за Windows Server 2000, Windows Server 2003 и Windows XP
Име на файл |
Версия на файла |
Размер на файла |
Дата |
Време |
Платформа |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:26 |
IA-64 |
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".
Заобикаляне на проблема
За да заобиколите този проблем, самостоятелно хоства услугата на WCF вместо хостинг услуга в IIS.
Допълнителна информация
Информация на стека разтоварване
System.ServiceModel.dll!System.ServiceModel.Channels.HttpsChannelListener.ApplyHostedContext(System.ServiceModel.Activation.VirtualPathExtension virtualPathExtension, bool isMetadataListener) + 0x1b7 bytes
System.ServiceModel.dll!System.ServiceModel.Channels.HttpsTransportBindingElement.BuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x69 bytes
System.ServiceModel.dll!System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener<System.__Canon>() + 0x5f bytes
System.ServiceModel.dll!System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x66 bytes
System.ServiceModel.Web.dll!System.ServiceModel.Channels.WebScriptMetadataMessageEncodingBindingElement.BuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x4b bytes
System.ServiceModel.dll!System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener<System.__Canon>() + 0x5f bytes
System.ServiceModel.dll!System.ServiceModel.Channels.Binding.BuildChannelListener<System.__Canon>(System.Uri listenUriBaseAddress, string listenUriRelativeAddress, System.ServiceModel.Description.ListenUriMode listenUriMode, System.ServiceModel.Channels.BindingParameterCollection parameters) + 0xa6 bytes
System.ServiceModel.dll!System.ServiceModel.Channels.Binding.BuildChannelListener<System.__Canon>(System.Uri listenUriBaseAddress, System.ServiceModel.Channels.BindingParameterCollection parameters) + 0x7c bytes
System.ServiceModel.Web.dll!System.ServiceModel.Description.WebScriptEnablingBehavior.AddMetadataEndpoint(System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher endpointDispatcher, bool debugMode) + 0x698 bytes
System.ServiceModel.Web.dll!System.ServiceModel.Description.WebScriptEnablingBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher endpointDispatcher) + 0x60 bytes