REVISIÓN: Un servicio WCF basados en.NET Framework 3.0 puede bloquearse con una excepción System.ServiceModel.CommunicationException si el servicio utiliza el enlace netTcpBinding

Se aplica a: .NET Framework 3.5 Service Pack 1Windows Server 2008 R2 Service Pack 1

Síntomas


Se ejecuta un servicio de Windows Communication Foundation (WCF) basado en.NET Framework 3.0 que usa el enlace netTcpBinding de Microsoft. Cuando se produce un error transitorio de la red, el servicio se bloquea debido a una excepción System.ServiceModel.CommunicationException. La excepción puede producirse debido a tiempo de espera o debido a un problema de recursos de red subyacente. El seguimiento de pila puede parecerse al siguiente ejemplo:
.. .a System.ServiceModel.Channels.SecurityChannelListener'1.DuplexSessionReceiveMessageAndVerifySecurityAsyncResult.BeginTryReceiveItem (tiempo de espera TimeSpan, AsyncCallback callback, estado de objeto) en (De System.ServiceModel.Channels.SecurityChannelListener'1.ReceiveItemAndVerifySecurityAsyncResult'2.StartInnerReceive) en () System.ServiceModel.Channels.SecurityChannelListener'1.ReceiveItemAndVerifySecurityAsyncResult'2.Start al System.ServiceModel.Channels.SecurityChannelListener'1.DuplexSessionReceiveMessageAndVerifySecurityAsyncResult.ReceiveMessage (estado de objeto) en () System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke2 al System.Security.SecurityContext.Run (SecurityContext securityContext, devolución de llamada ContextCallback, estado de objeto) en () System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.WorkItem.Invoke al (De System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.ProcessCallbacks) en System.ServiceModel.Channels.IOThreadScheduler.CriticalHelper.CompletionCallback (estado del objeto)

Causa


Este problema se produce porque el método ReceiveMessage en el objeto DuplexSessionReceiveMessageAndVerifySecurityAsyncResult no detecta excepciones producidas por el error y se transfieren al subproceso del usuario.

Solución


Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Aplique esta revisión solamente a sistemas que experimenten el problema descripto en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix. Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión. Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft: Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Debe tener el Microsoft.NET Framework 3.5 Service Pack 1 (SP1) instalado en uno de los siguientes sistemas operativos de Windows para aplicar este hotfix:
  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008 Service Pack 2 (SP2)
  • Service Pack 1 (SP1) de Windows 7
  • Windows Server 2008 R2 Service Pack 1 (SP1)
Para obtener más información acerca de cómo obtener un service pack de Windows Vista, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935791 Cómo obtener el Service Pack más reciente para Windows Vista
Para obtener más información acerca de cómo obtener un service pack de Windows Server 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
968849 Cómo obtener la versión más reciente del Service Pack para Windows Server 2008
Para obtener más información acerca de cómo obtener el Service Pack 1 para Windows 7 o Windows Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
976932 Información sobre el Service Pack 1 para Windows 7 y Windows Server 2008 R2

Información de reinicio

Tendrá que reiniciar el equipo después de aplicar esta revisión si se utilizan los archivos afectados. Se recomienda que salga de todas las aplicaciones de.NET Framework antes de aplicar esta revisión para evitar tener que reiniciar el equipo.

Información de reemplazo

Esta revisión no sustituye a ninguna revisión publicada previamente.

Información de archivo

La versión en inglés de esta revisión tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se expresan de acuerdo con la hora universal coordinada (UTC). Cuando vea la información del archivo, esta se convertirá a la hora local. Para conocer la diferencia entre la hora UTC y la hora local, use la pestaña Zona horaria del elemento Fecha y hora del Panel de control.
Para todas las versiones de x86 de Windows Vista SP2 y de Windows Server 2008 SP2
Nombre del archivoVersión del archivoTamaño del archivoFechaHoraPlataforma
Smdiagnostics.dll3.0.4506.5721110,59223-Ago-201110:57x86
Smsvchost.exe3.0.4506.5721128,84823-Aug-201110:57x86
System.identitymodel.dll3.0.4506.5721442,36823 -Ago-201110:57x86
System.runtime.serialization.dll3.0.4506.5721970,75223-Ago-201110:57x86
System.runtime.serialization.dll3.0.4506.5721970,75223-Ago-201110:57x86
System.servicemodel.dll3.0.4506.57215,992,44823-Ago-201110:57x86
System.servicemodel.washosting.dll3.0.4506.572132,76823-Ago-201110:57x86
System.servicemodel.dll3.0.4506.57215,992,44823-Aug-201110:57x86
Servicemodel.mofNo aplicable85,11328-Jul-201110:57Not Applicable
Servicemodel.mof.uninstallNot Applicable89612-Aug-201014:24No aplicable
Servicemonikersupport.dll3.0.4506.572117,25623-Aug-201110:57x86
System.identitymodel.dll3.0.4506.5721442,36823-Ago-201110:57x86
System.runtime.serialization.dll3.0.4506.5721970,75223-Ago-201110:57x86
System.servicemodel.dll3.0.4506.57215,992,44823-Aug-201110:57x86
Para todas las versiones de x64 de Windows Vista SP2 y de Windows Server 2008 SP2
Nombre del archivoVersión del archivoTamaño del archivoFechaHoraPlataforma
Servicemodel.mofNot Applicable85,11328-Jul-201110:55No aplicable
Servicemodel.mof.uninstallNot Applicable89612-Aug-201014:10No aplicable
Servicemonikersupport.dll3.0.4506.572119,30423-Aug-201110:55x64
Smdiagnostics.dll3.0.4506.572194,20823-Ago-201110:55x64
Smsvchost.exe3.0.4506.5721116,56023-Aug-201110:55x64
System.identitymodel.dll3.0.4506.5721401,40823 -Ago-201110:55x64
System.runtime.serialization.dll3.0.4506.5721847,87223-Ago-201110:55x64
System.runtime.serialization.dll3.0.4506.5721847,87223-Ago-201110:55x64
System.servicemodel.dll3.0.4506.57215,332,99223-Ago-201110:55x64
System.servicemodel.washosting.dll3.0.4506.572132,76823-Ago-201110:55x64
System.servicemodel.dll3.0.4506.57215,332,99223-Aug-201110:55x64
Para todas las versiones compatibles basadas en IA-64 de Windows Server 2008 SP2
Nombre del archivoVersión del archivoTamaño del archivoFechaHoraPlataforma
Servicemodel.mofNot Applicable85,11328-Jul-201111:26No aplicable
Servicemodel.mof.uninstallNot Applicable89616-Aug-201014:36No aplicable
Servicemonikersupport.dll3.0.4506.572133,64023-Aug-201111:24IA-64
Smdiagnostics.dll3.0.4506.572194,20823-Ago-201111:24IA-64
Smsvchost.exe3.0.4506.5721116,56023-Aug-201111:24IA-64
System.identitymodel.dll3.0.4506.5721401,40823-Aug-201111:24IA-64
System.runtime.serialization.dll3.0.4506.5721847,87223-Ago-201111:24IA-64
System.runtime.serialization.dll3.0.4506.5721847,87223-Aug-201111:24IA-64
System.servicemodel.dll3.0.4506.57215,332,99223-Aug-201111:24IA-64
System.servicemodel.washosting.dll3.0.4506.572132,76823-Ago-201111:24IA-64
System.servicemodel.dll3.0.4506.57215,332,99223-Aug-201111:24IA-64
Para todas las versiones compatibles basadas en x86 de Windows 7 SP1
Nombre del archivoVersión del archivoTamaño del archivoFechaHoraPlataforma
Smdiagnostics.dll3.0.4506.5721110,59222-Aug-201122:36x86
Smsvchost.exe3.0.4506.5721128,84822-Aug-201122:36x86
System.identitymodel.dll3.0.4506.5721442,36822-Aug-201122:36x86
System.runtime.serialization.dll3.0.4506.5721970,75222-Aug-201122:36x86
System.servicemodel.dll3.0.4506.57215,992,44822-Aug-201122:36x86
System.servicemodel.washosting.dll3.0.4506.572132,76822-Aug-201122:36x86
Servicemodel.mofNot Applicable85,11312-Nov-201023:36Not Applicable
Servicemodel.mof.uninstallNot Applicable89610-Jun-200921:14Not Applicable
Servicemonikersupport.dll3.0.4506.572117,25622-Aug-201122:36x86
System.identitymodel.dll3.0.4506.5721442,36822-Aug-201122:36x86
Para todas las versiones compatibles basadas en x64 de Windows 7 SP1 y Windows Server 2008 R2 SP1
Nombre del archivoVersión del archivoTamaño del archivoFechaHoraPlataforma
Servicemodel.mofNot Applicable85,11312-Nov-201023:39Not Applicable
Servicemodel.mof.uninstallNot Applicable89610-Jun-200920:30Not Applicable
Servicemonikersupport.dll3.0.4506.572119,30422-Aug-201122:31x64
Smdiagnostics.dll3.0.4506.572194,20822-Aug-201122:31x64
Smsvchost.exe3.0.4506.5721116,56022-Aug-201122:31x64
System.identitymodel.dll3.0.4506.5721401,40822-Aug-201122:31x64
System.runtime.serialization.dll3.0.4506.5721847,87222-Aug-201122:31x64
System.servicemodel.dll3.0.4506.57215,332,99222-Aug-201122:31x64
System.servicemodel.washosting.dll3.0.4506.572132,76822-Aug-201122:31x64
Para todas las versiones compatibles basadas en IA-64 de Windows Server 2008 R2 SP1
Nombre del archivoVersión del archivoTamaño del archivoFechaHoraPlataforma
Servicemodel.mofNot Applicable85,11312-Nov-201023:40Not Applicable
Servicemodel.mof.uninstallNot Applicable89610-Jun-200920:35Not Applicable
Servicemonikersupport.dll3.0.4506.572133,64022-Aug-201122:25IA-64
Smdiagnostics.dll3.0.4506.572194,20822-Aug-201122:25IA-64
Smsvchost.exe3.0.4506.5721116,56022-Aug-201122:25IA-64
System.identitymodel.dll3.0.4506.5721401,40822-Aug-201122:25IA-64
System.runtime.serialization.dll3.0.4506.5721847,87222-Aug-201122:25IA-64
System.servicemodel.dll3.0.4506.57215,332,99222-Aug-201122:25IA-64
System.servicemodel.washosting.dll3.0.4506.572132,76822-Aug-201122:25IA-64

Más información


Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft