Pazīmes
Apsveriet šādu scenāriju:
- Jūs izveidojat Windows Communication Foundation (WCF) pakalpojumu, kas tiek viesots interneta informācijas pakalpojumos (IIS).
- Jūs izmantojat WCF pakalpojuma klasi WebScriptEnablingBehavior.
- WCF pakalpojums tiek konfigurēts tā, lai drošligzdu slāņa (SSL) autentifikācijai izmantotu klienta sertifikātu. Lai to izdarītu, Web.config faila rekvizītam ClientCredentialType ir jāiestata vērtība Certificate.
Šādā scenārijā, palaižot WCF pakalpojumu, tiek mests System.NotSupportedException izņēmums un saņemat kļūdas ziņojumu, kas līdzīgs šim:
Piezīme
Pakalpojuma "Nav" SSL iestatījumi neatbilst IIS "Ssl, SslNegotiateCert, SslRequireCert, SslMapCert, Ssl128" iestatījumiem.
Iemesls
Šī problēma rodas, jo daži HttpTransportBindingElement instances rekvizīti netiek kopēti automātiski ģenerētajos javascript starpniekservera galapunktos.
Risinājums
Atbalstīts labojumfails tagad ir pieejams no Microsoft. Tomēr tas ir paredzēts, lai labotu tikai šajā rakstā aprakstīto problēmu. Lietojiet to tikai sistēmām, kurās rodas šī konkrētā problēma.
Lai atrisinātu šo problēmu, sazinieties ar Microsoft klientu atbalsta dienestu un iegūstiet labojumfailu. Lai iegūtu pilnu sarakstu ar Microsoft klientu atbalsta dienesta tālruņa numuriem un informāciju par atbalsta izmaksām, apmeklējiet šo Microsoft vietni:
http://support.microsoft.com/contactus/?ws=support Piezīme Īpašos gadījumos maksa, kas parasti tiek piemērota par atbalsta zvaniem, var tikt atcelta, ja Microsoft atbalsta speciālists nosaka, ka problēma tiks novērsta, instalējot noteiktu atjauninājumu. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.
Priekšnosacījumi
Lai lietotu šo labojumfailu, jābūt instalētai ..NET Framework 3.5 1. servisa pakotnei (SP1).
Restartēšanas prasības
Pēc labojumfaila instalēšanas nav jārestartē dators.
Informācija par labojumfailu aizstāšanu
Šis labojumfails neaizstāj citus labojumfailus.
Šī labojumfaila angļu valodas versijā ir faila atribūti (vai vēlāki faila atribūti), kas norādīti tālāk esošajā tabulā. Šo failu datums un laiks ir norādīts atbilstoši universālajam koordinētajam laikam (UTC). Kad skatāt faila informāciju, tā tiek pārvērsta par vietējo laiku. Lai uzzinātu atšķirību starp UTC un vietējo laiku, izmantojiet cilni Laika josla vadības paneļa vienumā Datums un laiks.
x86 bāzes versija Windows Server 2000, Windows Server 2003 un Windows XP
| Faila nosaukums | Faila versija | Faila lielums | Datums | Laiks | Platforma |
|---|---|---|---|---|---|
| System.servicemodel.web.dll | 3.5.594.4152 | 569,344 | 2009. gada 22. jūlijs | 01:51 | x86 |
x64 bitu versija Windows Server 2000, Windows Server 2003 un Windows XP
| Faila nosaukums | Faila versija | Faila lielums | Datums | Laiks | Platforma |
|---|---|---|---|---|---|
| System.servicemodel.web.dll | 3.5.594.4152 | 491,520 | 2009. gada 22. jūlijs | 02:13 | x64 |
Itanium versija Windows Server 2000, Windows Server 2003 un Windows XP
| Faila nosaukums | Faila versija | Faila lielums | Datums | Laiks | Platforma |
|---|---|---|---|---|---|
| System.servicemodel.web.dll | 3.5.594.4152 | 491,520 | 2009. gada 22. jūlijs | 02:26 | IA-64 |
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".
Risinājums
Lai novērstu šo problēmu, viesojiet WCF pakalpojumu, nevis viesojiet pakalpojumu IIS.
Papildinformācija
Steka izmetes informācija
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