Symptom
Föreställ dig följande:
-
Du kör ett Microsoft.NET Framework 3.0- eller.NET Framework 3.5-baserade Windows Communication Foundation (WCF) service.
-
WCF-tjänsten använder i Portdelningstjänsten för NET.TCP (Smsvchost.exe) och finns på en dator som kör Internet Information Services (IIS).
-
Någon av följande förutsättningar föreligger:
-
CPU-användningen är hög på den dator som kör IIS.
-
En begränsning som uppstår i en servicemodell för WCF-tjänsten.
-
Flera begäranden skickas till WCF-tjänsten på samma gång.
-
I det här fallet tar WCF-tjänsten längre tid än en minut att bearbeta en begäran från ett klientprogram. Dessutom loggas ett felmeddelande som monterar posten följande händelse i händelseloggen:
Loggnamn: System
Källa: SMSvcHost 3.0.0.0
Datum:
Händelse-ID: 8
Aktivitetskategori: Delningstjänst
Nivå: fel
Nyckelord: klassisk
Användare: Lokal tjänst
Dator:
Beskrivning: Ett fel uppstod när utförsel duplicerade socket: handtaget nu läckt i processen.
ID: 2620
Källa: System.ServiceModel.Activation.TcpWorkerProcess
Undantag:
System.TimeoutException: Denna begärandeåtgärd som skickats till tog inte emot ett svar inom den angivna tidsgränsen (00: 01:00). Den tid som tilldelats till den här åtgärden kan ha varit en del av en längre tidsgräns. Detta kan vara att tjänsten fortfarande bearbetar åtgärden eller eftersom tjänsten inte kunde skicka ett svarsmeddelande. Bör du öka tidsgränsen för åtgärden (genom kastar kanal/proxy till IContextChannel och ställa in egenskapen OperationTimeout) och kontrollera att tjänsten kan ansluta till klienten.
Obs! Du måste starta om IIS om du vill återställa WCF-tjänst från problemet.
Orsak
Det här problemet uppstår eftersom processen Smsvchost.exe på grund av timeout efter en minut när det försöker överföra en inkommande anslutningsbegäran till arbetsprocessen W3wp.exe. Dessutom är timeout icke konfigurerbara.
När Processorn har hög arbetsbelastning eller när många samtidiga begäranden inkommande kan inte Smsvchost.exe-processen överföra den inkommande anslutningen till arbetsprocessen W3wp.exe inom en minut. Därför Smsvchost.exe processen timeout och så småningom slutar svara. När problemet uppstår kan inte processen Smsvchost.exe cirkulera senare begäranden till arbetsprocessen W3wp.exe tills IIS startas.
Lösning
Lös problemet genom att installera snabbkorrigering 2504602 som beskrivs i artikeln i Microsoft Knowledge Base (KB).
För mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2504602 ett samlat snabbkorrigeringspaket är tillgängligt för WCF i.NET Framework 3.0 SP2,.NET Framework 3.5 SP1 och.NET Framework 4
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".