Korriger: Smsvchost.exe for WCF-tjenesten slutter å svare når du kjører en WCF-tjeneste i .NET Framework 3.0 eller .NET Framework 3.5


Symptomer


Tenk deg følgende:
  • Du kjører et .NET Framework 3.0- eller .NET Framework 3.5-basert Windows Communication Foundation (WCF) service.
  • WCF-tjenesten bruker Net.Tcp Port Sharing Service (Smsvchost.exe) og er lagret på en datamaskin som kjører Internet Information Services (IIS).
  • En av følgende betingelser er oppfylt:
    • Bruk av CPU er høyt på datamaskinen som kjører IIS.
    • En gass oppstår i en tjenestemodell for WCF-tjenesten.
    • Flere forespørsler sendes til WCF-tjenesten samtidig.
I dette scenariet tar WCF-tjenesten lengre tid enn ett minutt å behandle en forespørsel fra et klientprogram. I tillegg logges en feilmelding som setter sammen oppføringen for følgende hendelse i hendelsesloggen:

Logge: System

Kilde: SMSvcHost 3.0.0.0

Dato:

Hendelses-ID: 8

Oppgavekategori: Tjenesten for deling av

Nivå: feil

Nøkkelord: klassisk

Bruker: Lokal tjeneste

Datamaskin:

Beskrivelse: En feil oppstod ved sending av en duplisert socket: dette håndtaket er nå lekket i prosessen.

ID: 2620

Kilde: System.ServiceModel.Activation.TcpWorkerProcess

Unntak:

System.TimeoutException: Denne forespørselsoperasjonen sendt til mottok ikke noe svar innen det konfigurerte tidsavbruddet (00: 01:00). Tiden som er tildelt til denne operasjonen kan ha vært en del av et lengre tidsavbrudd. Dette kan skyldes at tjenesten fremdeles behandler operasjonen eller fordi tjenesten ikke kunne sende en svarmelding. Vurder å øke tiden for tidsavbrudd (ved lager kanalen/proxyen til IContextChannel og angi OperationTimeout-egenskapen), og kontroller at tjenesten er i stand til å koble til klienten.
Obs! Du må starte IIS for å løse dette problemet WCF-tjenesten.

Årsak


Dette problemet oppstår fordi prosessen Smsvchost.exe tidsavbrytes etter ett minutt når den prøver å overføre en innkommende tilkoblingsforespørsel til W3wp.exe-arbeidsprosessen. I tillegg er denne tidsavbrudd for ikke-konfigurerbare.

Når Prosessoren er en stor belastning, eller mange samtidige tilkoblingsforespørsler er innkommende, overføre ikke Smsvchost.exe-prosessen den innkommende tilkoblingen til W3wp.exe-arbeidsprosessen i ett minutt. Derfor Smsvchost.exe prosessen blir tidsavbrutt, og til slutt slutter å svare. Når dette problemet oppstår, kan ikke prosessen Smsvchost.exe rute senere forespørsler til W3wp.exe-arbeidsprosessen før IIS er startet på nytt.

Oppløsning


Hvis du vil løse dette problemet, kan du bruke hurtigreparasjonen 2504602 som er beskrevet i Microsoft Knowledge Base (KB)-artikkel.

Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
2504602 en samleoppdateringspakke er tilgjengelig for WCF i .NET Framework 3.0 SP2, .NET Framework 3.5 SP1 og .NET Framework 4

Status


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