Simptome
Să luăm în considerare următorul scenariu:
-
Creați un serviciu Windows Communication Foundation (WCF) care este găzduită în Internet Information Services (IIS).
-
Utilizați WebScriptEnablingBehavior clasa în serviciul WCF.
-
Se configurează serviciul WCF pentru a utiliza un certificat de client pentru autentificare Secure Sockets Layer (SSL). Pentru aceasta, setați proprietatea ClientCredentialType în fișierul Web.config pentru certificat.
În acest scenariu, când executați serviciul WCF, o excepţiei System.NotSupportedException și primiți un mesaj de eroare care seamănă cu următorul:
Setările SSL pentru serviciul 'None' nu se potrivesc cu cele de IIS 'Ssl, SslNegotiateCert, SslRequireCert, SslMapCert, Ssl128'.
Cauza
Această problemă apare deoarece unele proprietăți instanță HttpTransportBindingElement nu sunt copiate pe auto-generat javascript proxy puncte finale.
Rezolvare
Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, aceasta este scopul de a corecta numai problema descrisă în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume.
Pentru a rezolva această problemă, contactați serviciile de asistență pentru clienți Microsoft pentru a obține remedierea rapidă. Pentru o listă completă a numerelor de telefon ale serviciilor de asistență pentru clienți Microsoft și informații despre costurile de asistență, vizitați următorul site Web Microsoft:http://support.microsoft.com/contactus/?ws=supportNotă În cazuri speciale, costurile implicate de obicei pentru apelurile de suport pot fi anulate dacă un specialist în asistență Microsoft stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.
Cerințe preliminare
Trebuie să aveți .NET Framework 3.5 Service Pack 1 (SP1) instalate pentru a aplica această remediere rapidă.
Cerinţă de repornire
Nu trebuie să reporniți computerul după ce instalați remedierea rapidă.
Informații despre înlocuirea remedierilor rapide
Această remediere rapidă nu înlocuiește nicio altă remediere rapidă.
Versiunea în limba engleză a acestei remedieri rapide are atributele de fişier (sau atribute de fişier mai recente) enumerate în următorul tabel. Datele şi orele acestor fişiere sunt exprimate în listă în ora universală (UTC). Când vizualizaţi informaţiile despre fișier, acesta este convertit la ora locală. Pentru a găsi diferenţa dintre UTC şi ora locală, utilizaţi fila Fusul orar în elementul de Data şi ora în Panoul de Control.versiune x86 pentru Windows Server 2000, Windows Server 2003 și Windows XP
Nume de fișier |
Versiune fișier |
Dimensiune fișier |
Data |
Ora |
Platformă |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
569,344 |
22-Jul-2009 |
01:51 |
x86 |
versiune x64 pentru Windows Server 2000, Windows Server 2003 și Windows XP
Nume de fișier |
Versiune fișier |
Dimensiune fișier |
Data |
Ora |
Platformă |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:13 |
x64 |
Versiune Itanium de Windows Server 2000, Windows Server 2003 și Windows XP
Nume de fișier |
Versiune fișier |
Dimensiune fișier |
Data |
Ora |
Platformă |
---|---|---|---|---|---|
System.servicemodel.web.dll |
3.5.594.4152 |
491,520 |
22-Jul-2009 |
02:26 |
IA-64 |
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Soluție
Pentru a rezolva această problemă, auto-gazdă serviciul WCF în loc de găzduire serviciul în IIS.
Mai multe informații
Informațiile de imagine de stivă
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