Problembeschreibung
Betrachten Sie das folgende Szenario:
-
Sie erstellen einen Windows Communication Foundation (WCF)-Dienst, der gehostet wird in Internet Information Services (IIS).
-
Sie verwenden die WebScriptEnablingBehavior -Klasse in den WCF-Dienst.
-
Sie konfigurieren den WCF-Dienst ein Clientzertifikat für die Authentifizierung von Secure Sockets Layer (SSL) verwenden. Hierzu legen Sie ClientCredentialType -Eigenschaft in der Datei Web.config Zertifikat.
In diesem Szenario den WCF-Dienst ausführen, eine System.NotSupportedException -Ausnahme ausgelöst und eine Fehlermeldung, die die folgenden ähnelt:
SSL-Einstellung für den Dienst 'None' entspricht nicht der IIS "Ssl, SslNegotiateCert, SslRequireCert, SslMapCert, Ssl128".
Ursache
Dieses Problem tritt auf, weil einige Eigenschaften der Instanz HttpTransportBindingElement nicht automatisch generierte Javascript Proxyendpunkte kopiert werden.
Problemlösung
Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Es soll jedoch nur das Problem beheben, das in diesem Artikel beschrieben ist. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt.
Um dieses Problem zu beheben, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Eine vollständige Liste der Telefonnummern des Microsoft Product Support Services und Informationen zu den Supportkosten finden Sie auf der folgenden Microsoft-Website:
http://support.microsoft.com/contactus/?ws=supportHinweis In bestimmten Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen abgebrochen werden, wenn ein Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.
Voraussetzungen
Sie müssen.NET Framework 3.5 Service Pack 1 (SP1) installiert, um diesen Hotfix anwenden.
Neustartanforderung
Sie müssen keinen Neustart des Computers nach Installation des Hotfixes durchführen.
Informationen zu ersetzten Hotfixes
Dieser Hotfix ersetzt keine anderen Hotfixes.
Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.
X86-basierte Version für Windows 2000 Server, Windows Server 2003 und Windows XP
Dateiname |
Dateiversion |
Dateigröße |
Datum |
Zeit |
Plattform |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
569,344 |
22-Jul-2009 |
01:51 |
x86 |
X64-basierte Version für Windows 2000 Server, Windows Server 2003 und Windows XP
Dateiname |
Dateiversion |
Dateigröße |
Datum |
Zeit |
Plattform |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:13 |
x64 |
Itanium-basierte Version für Windows 2000 Server, Windows Server 2003 und Windows XP
Dateiname |
Dateiversion |
Dateigröße |
Datum |
Zeit |
Plattform |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:26 |
IA-64 |
Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.
PROBLEMUMGEHUNG
Um dieses Problem zu umgehen, Self-Hosting des WCF-Diensts anstelle den Dienst in IIS hosten.
Weitere Informationen
Stapel Dumpinformationen
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