KORRIGERING: En .NET Framework 3.0-baserad WCF-tjänst kan krascha med ett System.ServiceModel.CommunicationException undantag om tjänsten använder netTcpBinding-bindningen

Gäller för
.NET Framework 3.5 Service Pack 1 Windows Server 2008 R2 Service Pack 1

Symptom

Du kör en Microsoft .NET Framework 3.0-baserad WCF-tjänst (Windows Communication Foundation) som använder bindningen netTcpBinding. När ett tillfälligt nätverksfel inträffar kraschar tjänsten på grund av ett System.ServiceModel.CommunicationException-undantag. Undantaget kan uppstå på grund av timeout eller på grund av ett underliggande problem med nätverksresursen.

Stackspårningen kan se ut ungefär så här:


at System.ServiceModel.Channels.SecurityChannelListener'1.DuplexSessionReceiveMessageAndVerifySecurityAsyncResult.BeginTryReceiveItem(TimeSpan timeout, AsyncCallback callback, Object state)
på System.ServiceModel.Channels.SecurityChannelListener'1.ReceiveItemAndVerifySecurityAsyncResult'2.StartInnerReceive()
på System.ServiceModel.Channels.SecurityChannelListener'1.ReceiveItemAndVerifySecurityAsyncResult'2.Start()
på System.ServiceModel.Channels.SecurityChannelListener'1.DuplexSessionReceiveMessageAndVerifySecurityAsyncResult.ReceiveMessage(Object state)
på System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2()
på System.Security.SecurityContext.Run(SecurityContext, securityContext, ContextCallback callback, object state)
vid System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke()
på System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks()
på System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback(Object state)

Orsak

Det här problemet beror på att metoden ReceiveMessage i DuplexSessionReceiveMessageAndVerifySecurityAsyncResult-objektet inte fångar upp undantag som orsakas av felet och de överförs till användartråden.

Lösning

Information om snabbkorrigeringar

En snabbkorrigering som stöds är tillgänglig från Microsoft. Den här snabbkorrigeringen är dock endast avsedd att åtgärda det problem som beskrivs i den här artikeln. Använd endast den här snabbkorrigeringen på system som har det problem som beskrivs i den här artikeln. Den här snabbkorrigeringen kan testas ytterligare. Om du inte påverkas allvarligt av det här problemet rekommenderar vi därför att du väntar på nästa programuppdatering som innehåller den här snabbkorrigeringen.

Om snabbkorrigeringen är tillgänglig för hämtning finns avsnittet "Nedladdning av snabbkorrigering" längst upp i den här Knowledge Base-artikeln. Om det här avsnittet inte visas kontaktar du Microsofts kundtjänst och support för att hämta snabbkorrigeringen.

Om ytterligare problem uppstår eller om felsökning krävs kan du behöva skapa en separat tjänstbegäran. Normala supportkostnader tillkommer för ytterligare supportfrågor och problem som inte kvalificerar sig för den här specifika snabbkorrigeringen. En fullständig lista över telefonnummer till Microsofts kundtjänst och support eller om du vill skapa en separat servicebegäran finns på följande Microsoft-webbplats:

http://support.microsoft.com/contactus/?ws=support Obs! Formuläret "Nedladdning av snabbkorrigering tillgänglig" visar de språk som snabbkorrigeringen är tillgänglig för. Om ditt språk inte visas beror det på att det inte finns någon snabbkorrigering för det språket.

Krav

Du måste ha Microsoft .NET Framework 3.5 Service Pack 1 (SP1) installerat på något av följande Windows-operativsystem för att kunna installera den här snabbkorrigeringen:

  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008 Service Pack 2 (SP2)
  • Windows 7 Service Pack 1 (SP1)
  • Windows Server 2008 R2 Service Pack 1 (SP1)

Om du vill veta mer om hur du skaffar ett Service Pack för Windows Vista klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

935791 Skaffa den senaste Service Pack-versionen för Windows VistaOm du vill veta mer om hur du skaffar ett Service Pack för Windows Server 2008 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

968849 Skaffa den senaste Service Pack-versionen för Windows Server 2008Om du vill veta mer om hur du skaffar Service Pack 1 för Windows 7 eller för Windows Server 2008 R2 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

976932 Information om Service Pack 1 för Windows 7 och för Windows Server 2008 R2

Information om omstart

Du kanske måste starta om datorn efter att du har installerat den här snabbkorrigeringen om några filer som påverkas används. Vi rekommenderar att du avslutar alla .NET Framework program innan du installerar den här snabbkorrigeringen så att du inte behöver starta om datorn.

Ersättningsinformation

Den här snabbkorrigeringen ersätter inte någon tidigare snabbkorrigering.

Filinformation

Den engelska versionen av den här snabbkorrigeringen har filattributen (eller senare filattribut) som listas i följande tabell. Datumen och tiderna för dessa filer anges i Coordinated Universal Time (UTC). När du visar filinformationen konverteras den till lokal tid. Om du vill hitta skillnaden mellan UTC och lokal tid använder du fliken Tidszon i objektet Datum och tid på kontrollpanelen.

För alla x86-baserade versioner av Windows Vista SP2 och Windows Server 2008 SP2 som stöds

Filnamn Filversion Filstorlek Datum Tid Plattform
Smdiagnostics.dll 3.0.4506.5721 110,592 23-Aug- 2011 10:57 x86
Smsvchost.exe 3.0.4506.5721 128,848 23-augusti-2011 10:57 x86
System.identitymodel.dll 3.0.4506.5721 442,368 23 augusti-2011 10:57 x86
System.runtime.serialization.dll 3.0.4506.5721 970,752 23-Aug- 2011 10:57 x86
System.runtime.serialization.dll 3.0.4506.5721 970,752 23-Aug- 2011 10:57 x86
System.servicemodel.dll 3.0.4506.5721 5,992,448 23-Aug- 2011 10:57 x86
System.servicemodel.washosting.dll 3.0.4506.5721 32 768 23-Aug- 2011 10:57 x86
System.servicemodel.dll 3.0.4506.5721 5,992,448 23-augusti-2011 10:57 x86
Servicemodel.mof Ej tillämpligt 85,113 28-jul-2011 10:57 Ej tillämpligt
Servicemodel.mof.uninstall Ej tillämpligt 896 12-augusti-2010 14:24 Ej tillämpligt
Servicemonikersupport.dll 3.0.4506.5721 17,256 23-augusti-2011 10:57 x86
System.identitymodel.dll 3.0.4506.5721 442,368 23-Aug- 2011 10:57 x86
System.runtime.serialization.dll 3.0.4506.5721 970,752 23-Aug- 2011 10:57 x86
System.servicemodel.dll 3.0.4506.5721 5,992,448 23-augusti-2011 10:57 x86

För alla x64-baserade versioner av Windows Vista SP2 och Windows Server 2008 SP2 som stöds

Filnamn Filversion Filstorlek Datum Tid Plattform
Servicemodel.mof Ej tillämpligt 85,113 28-jul-2011 10:55 Ej tillämpligt
Servicemodel.mof.uninstall Ej tillämpligt 896 12-augusti-2010 14:10 Ej tillämpligt
Servicemonikersupport.dll 3.0.4506.5721 19,304 23-augusti-2011 10:55 x64
Smdiagnostics.dll 3.0.4506.5721 94,208 23-Aug- 2011 10:55 x64
Smsvchost.exe 3.0.4506.5721 116,560 23-augusti-2011 10:55 x64
System.identitymodel.dll 3.0.4506.5721 401,408 23 augusti-2011 10:55 x64
System.runtime.serialization.dll 3.0.4506.5721 847,872 23-Aug- 2011 10:55 x64
System.runtime.serialization.dll 3.0.4506.5721 847,872 23-Aug- 2011 10:55 x64
System.servicemodel.dll 3.0.4506.5721 5,332,992 23-Aug- 2011 10:55 x64
System.servicemodel.washosting.dll 3.0.4506.5721 32 768 23-Aug- 2011 10:55 x64
System.servicemodel.dll 3.0.4506.5721 5,332,992 23-augusti-2011 10:55 x64

För alla IA-64-baserade versioner av Windows Server 2008 SP2 som stöds

Filnamn Filversion Filstorlek Datum Tid Plattform
Servicemodel.mof Ej tillämpligt 85,113 28-jul-2011 11:26 Ej tillämpligt
Servicemodel.mof.uninstall Ej tillämpligt 896 16-augusti-2010 14:36 Ej tillämpligt
Servicemonikersupport.dll 3.0.4506.5721 33,640 23-augusti-2011 11:24 IA-64
Smdiagnostics.dll 3.0.4506.5721 94,208 23-Aug- 2011 11:24 IA-64
Smsvchost.exe 3.0.4506.5721 116,560 23-augusti-2011 11:24 IA-64
System.identitymodel.dll 3.0.4506.5721 401,408 23-augusti-2011 11:24 IA-64
System.runtime.serialization.dll 3.0.4506.5721 847,872 23-Aug- 2011 11:24 IA-64
System.runtime.serialization.dll 3.0.4506.5721 847,872 23-augusti-2011 11:24 IA-64
System.servicemodel.dll 3.0.4506.5721 5,332,992 23-augusti-2011 11:24 IA-64
System.servicemodel.washosting.dll 3.0.4506.5721 32 768 23-Aug- 2011 11:24 IA-64
System.servicemodel.dll 3.0.4506.5721 5,332,992 23-augusti-2011 11:24 IA-64

För alla x86-baserade versioner av Windows 7 SP1 som stöds

Filnamn Filversion Filstorlek Datum Tid Plattform
Smdiagnostics.dll 3.0.4506.5721 110,592 22-aug-2011 22:36 x86
Smsvchost.exe 3.0.4506.5721 128,848 22-aug-2011 22:36 x86
System.identitymodel.dll 3.0.4506.5721 442,368 22-aug-2011 22:36 x86
System.runtime.serialization.dll 3.0.4506.5721 970,752 22-aug-2011 22:36 x86
System.servicemodel.dll 3.0.4506.5721 5,992,448 22-aug-2011 22:36 x86
System.servicemodel.washosting.dll 3.0.4506.5721 32 768 22-aug-2011 22:36 x86
Servicemodel.mof Ej tillämpligt 85,113 12-nov-2010 23:36 Ej tillämpligt
Servicemodel.mof.uninstall Ej tillämpligt 896 2009/10/10 21:14 Ej tillämpligt
Servicemonikersupport.dll 3.0.4506.5721 17,256 22-aug-2011 22:36 x86
System.identitymodel.dll 3.0.4506.5721 442,368 22-aug-2011 22:36 x86

För alla x64-baserade versioner av Windows 7 SP1 och Windows Server 2008 R2 SP1 som stöds

Filnamn Filversion Filstorlek Datum Tid Plattform
Servicemodel.mof Ej tillämpligt 85,113 12-nov-2010 23:39 Ej tillämpligt
Servicemodel.mof.uninstall Ej tillämpligt 896 2009/10/10 20:30 Ej tillämpligt
Servicemonikersupport.dll 3.0.4506.5721 19,304 22-aug-2011 22:31 x64
Smdiagnostics.dll 3.0.4506.5721 94,208 22-aug-2011 22:31 x64
Smsvchost.exe 3.0.4506.5721 116,560 22-aug-2011 22:31 x64
System.identitymodel.dll 3.0.4506.5721 401,408 22-aug-2011 22:31 x64
System.runtime.serialization.dll 3.0.4506.5721 847,872 22-aug-2011 22:31 x64
System.servicemodel.dll 3.0.4506.5721 5,332,992 22-aug-2011 22:31 x64
System.servicemodel.washosting.dll 3.0.4506.5721 32 768 22-aug-2011 22:31 x64

För alla IA-64-baserade versioner av Windows Server 2008 R2 SP1 som stöds

Filnamn Filversion Filstorlek Datum Tid Plattform
Servicemodel.mof Ej tillämpligt 85,113 12-nov-2010 23:40 Ej tillämpligt
Servicemodel.mof.uninstall Ej tillämpligt 896 2009/10/10 20:35 Ej tillämpligt
Servicemonikersupport.dll 3.0.4506.5721 33,640 22-aug-2011 22:25 IA-64
Smdiagnostics.dll 3.0.4506.5721 94,208 22-aug-2011 22:25 IA-64
Smsvchost.exe 3.0.4506.5721 116,560 22-aug-2011 22:25 IA-64
System.identitymodel.dll 3.0.4506.5721 401,408 22-aug-2011 22:25 IA-64
System.runtime.serialization.dll 3.0.4506.5721 847,872 22-aug-2011 22:25 IA-64
System.servicemodel.dll 3.0.4506.5721 5,332,992 22-aug-2011 22:25 IA-64
System.servicemodel.washosting.dll 3.0.4506.5721 32 768 22-aug-2011 22:25 IA-64

Mer information

Om du vill veta mer om terminologi för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

824684 Beskrivning av standardterminologin som används för att beskriva Microsofts programuppdateringar