Objawy
Rozważ następujący scenariusz:
-
Tworzenie usługi Windows Communication Foundation (WCF), która jest obsługiwana w programie Internet Information Services (IIS).
-
Użyj klasy WebScriptEnablingBehavior usługi WCF.
-
Konfigurowanie usługi WCF w celu użycia certyfikatu klienta do uwierzytelniania protokołu Secure Sockets Layer (SSL). Aby to zrobić, właściwość ClientCredentialType jest ustawiona w pliku Web.config do certyfikatu.
W tym scenariuszu podczas uruchamiania usługi WCF, generowany jest wyjątek System.NotSupportedException i zostanie wyświetlony komunikat o błędzie podobny do następującego:
Ustawienia protokołu SSL dla usługi "Brak" nie zgadzać się z IIS "Ssl, SslNegotiateCert, SslRequireCert, SslMapCert, Ssl128".
Przyczyna
Ten problem występuje, ponieważ niektóre właściwości instancji element wiązania transportu HTTP nie są kopiowane do punktów końcowych serwera proxy generowanie kodu javascript.
Rozwiązanie
Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem.
Aby rozwiązać ten problem, skontaktuj się z biurem obsługi klienta Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft oraz informacje o pomocy technicznej odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://support.microsoft.com/contactus/?ws=supportUwaga W wyjątkowych przypadkach opłaty za połączenie z pomocą techniczną mogą zostać anulowane, jeśli specjalista firmy Microsoft zdecyduje że określona aktualizacja, może rozwiązać Twój problem. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.
Wymagania wstępne
Musi mieć.NET Framework 3.5 z dodatkiem Service Pack 1 (SP1) zainstalować tę poprawkę.
Wymagania dotyczące ponownego uruchomienia
Nie musisz ponownie uruchamiać komputera po zainstalowaniu poprawki.
Informacje dotyczące zastępowania poprawek
Ta poprawka nie zastępuje żadnych innych poprawek.
Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.
x86 w wersji dla systemu Windows 2000 Server, Windows Server 2003 i Windows XP
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Godzina |
Platforma |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
569344 |
22-Jul-2009 |
01:51 |
x86 |
x64-bitowych wersji dla systemu Windows 2000 Server, Windows Server 2003 i Windows XP
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Godzina |
Platforma |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:13 |
x64 |
Wersja dla systemu Windows 2000 Server, Windows Server 2003 i Windows XP opartych na procesorach Itanium
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Godzina |
Platforma |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:26 |
IA-64 |
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Obejście problemu
Aby obejść ten problem, hosta samodzielnego usługi WCF zamiast obsługujący usługę w usługach IIS.
Więcej informacji
Informacje zrzut stosu
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