FIX: Smsvchost.exe voor de WCF-service reageert niet meer wanneer u een WCF-service uitgevoerd in .NET Framework 3.0 of .NET Framework 3.5


Symptomen


Overweeg het volgende scenario:
  • Een Microsoft .NET Framework 3.0 of .NET Framework 3.5 service van Windows Communication Foundation (WCF) worden uitgevoerd.
  • WCF-service gebruikt de Net.Tcp Port Sharing Service (Smsvchost.exe) en wordt gehost op een computer waarop Internet Information Services (IIS).
  • Een van de volgende voorwaarden wordt voldaan:
    • Het CPU-gebruik is hoog op de computer waarop IIS wordt uitgevoerd.
    • Een vertraging optreedt in een servicemodel van de WCF-service.
    • Meerdere aanvragen worden verzonden naar de service WCF op hetzelfde moment.
In dit scenario wordt duurt de service WCF langer dan één minuut voor het verwerken van een aanvraag van een clienttoepassing. Bovendien is een foutbericht dat de volgende vermelding monteert vastgelegd in het gebeurtenislogboek:

Meld naam: systeem

Bron: SMSvcHost 3.0.0.0-prestatiemeters

Datum:

Gebeurtenis-ID: 8

Categorie: Sharing-Service

Niveau: fout

Trefwoorden: klassiek

Gebruiker: Lokale SERVICE

Computer:

Beschrijving: Een fout opgetreden bij het verzenden van een gedupliceerde socket: deze ingang is nu meer in het proces.

ID: 2620

Bron: System.ServiceModel.Activation.TcpWorkerProcess

Uitzondering:

System.TimeoutException: De aanvraagbewerking van deze verzonden naar heeft geen antwoord ontvangen binnen de geconfigureerde time-out (00: 01:00). Mogelijk is de tijd die is toegewezen aan deze bewerking een deel van een langere time-out. Dit kan zijn omdat de service nog steeds de bewerking verwerkt of omdat de service kan een antwoord verzenden. Kunt u de time-out van de bewerking te verhogen (door het kanaal-/ proxy-naar IContextChannel en de OperationTimeout) en zorg ervoor dat de service verbinding kunnen maken met de client.
Opmerking U moet IIS de WCF-service herstellen van dit probleem opnieuw.

Oorzaak


Dit probleem treedt op omdat het proces Smsvchost.exe time-out één minuut wanneer wordt geprobeerd een binnenkomende verbindingsaanvraag overbrengen naar het werkproces W3wp.exe. Bovendien is de time-outwaarde niet kunt configureren.

Wanneer de CPU heeft een zware werklast uitstekend of wanneer er veel gelijktijdige verbindingsaanvragen worden binnenkomende, kan het proces Smsvchost.exe de binnenkomende verbinding overdragen aan het werkproces W3wp.exe binnen één minuut. Daarom is het proces Smsvchost.exe time-out en uiteindelijk niet meer reageert. Wanneer dit probleem optreedt, kan niet het proces Smsvchost.exe aanvragen voor het werkproces W3wp.exe route totdat IIS opnieuw wordt gestart.

Oplossing


Dit probleem oplossen door hotfix 2504602, die wordt beschreven in Microsoft Knowledge Base (KB)-artikel van toepassing.

Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
2504602 een hotfixcombinatiepakket beschikbaar is voor WCF in .NET Framework 3.0 SP2, .NET Framework 3.5 SP1 en .NET Framework 4

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.