Korriger: En System.NotSupportedException unntak når du kjører en IIS vert for WCF-tjeneste som bruker et klientsertifikat for SSL-godkjenning

Symptomer

Tenk deg følgende:

  • Du oppretter en Windows Communication Foundation (WCF) service som er lagret i Internet Information Services (IIS).

  • Du bruker WebScriptEnablingBehavior -klassen i WCF-tjenesten.

  • Du kan konfigurere WCF-tjenesten hvis du vil bruke et klientsertifikat for Secure Sockets Layer (SSL)-godkjenning. Hvis du vil gjøre dette, må du angi egenskapen ClientCredentialType i filen Web.config for sertifikat.

I dette scenariet, når du kjører WCF-tjenesten, et System.NotSupportedException -unntak er registrert og du får en feilmelding ligner som på følgende:

SSL-innstillingene for tjenesten 'Ingen' stemmer ikke med IIS 'Ssl, SslNegotiateCert, SslRequireCert, SslMapCert, Ssl128'.

Årsak

Dette problemet oppstår fordi noen egenskaper for forekomsten av HttpTransportBindingElement ikke kopieres til automatisk genererte javascript proxy endepunktene.

Løsning

En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Den er imidlertid kun ment å løse problemet som beskrives i denne artikkelen. Bruk den bare på systemer som har dette bestemte problemet.

Hvis du vil løse dette problemet, kontakter du Microsoft Kundestøtte for å få hurtigreparasjonen. For en fullstendig liste over telefonnumre for Microsofts kundestøttetjenester og informasjon om støttekostnader, kan du gå til følgende Microsoft-webområde:

http://support.microsoft.com/contactus/?ws=supportObs! I spesielle tilfeller kan avgifter som vanligvis påløper for oppringinger til kundestøtte kanselleres hvis en Microsoft-tekniker avgjør at en bestemt oppdatering løser problemet. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av den gjeldende oppdateringen.

Forutsetninger

Du må ha for .NET Framework 3.5 Service Pack 1 (SP1) installert for å bruke denne hurtigreparasjonen.

Krav om omstart

Du har ikke datamaskinen på nytt etter at du har installert hurtigreparasjonen.

Informasjon om erstatning av hurtigreparasjoner

Denne hurtigreparasjonen erstatter ikke andre hurtigreparasjoner.
Den engelskspråklige versjonen av denne hurtigreparasjonen har filattributtene (eller senere filattributter) som er oppført i følgende tabell. Datoene og klokkeslettene for disse filene er oppført i Coordinated Universal Time (UTC). Når du viser filinformasjonen, konverteres den til lokal tid. Hvis du vil finne forskjellen mellom UTC og lokal tid, kan du bruke kategorien tidssone under dato og klokkeslett i Kontrollpanel.

x86-basert versjon for Windows Server 2000, Windows Server 2003 og Windows XP

Filnavn

Filversjon

Filstørrelse

Dato

Tid

Plattform

System.servicemodel.web.dll

3.5.594.4152

569,344

22-Jul-2009

01:51

x86


x64-basert versjon for Windows Server 2000, Windows Server 2003 og Windows XP

Filnavn

Filversjon

Filstørrelse

Dato

Tid

Plattform

System.servicemodel.web.dll

3.5.594.4152

491,520

22-Jul-2009

02:13

x64


Itanium-basert versjon for Windows Server 2000, Windows Server 2003 og Windows XP

Filnavn

Filversjon

Filstørrelse

Dato

Tid

Plattform

System.servicemodel.web.dll

3.5.594.4152

491,520

22-Jul-2009

02:26

IA-64


Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Løsning

Hvis du vil omgå dette problemet, selv vert for WCF-tjeneste i stedet for å være vert for tjenesten i IIS.

Hvis du vil ha mer informasjon

Stakken dump informasjon

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

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med kvaliteten på oversettelsen?

Hva påvirket opplevelsen din?

Har du ytterligere tilbakemeldinger? (valgfritt)

Takk for tilbakemeldingen!

×