Exportar (0) Imprimir
Expandir todo

System.ServiceModel.CommunicationObjectFaultedException durante el inicio de la instancia de rol

Actualizado: julio de 2011

Se aplica a: Windows Azure SDK 1.3 y versiones posteriores

Síntoma: en este tema se tratan las posibles causas y las soluciones del mensaje de error System.ServiceModel.CommunicationObjectFaultedException.

Puede encontrar un error que indique que Este objeto de comunicación, System.ServiceModel.Channels.ServiceChannel, no se puede utilizar para la comunicación porque está en estado de error cuando se inicia el rol en el entorno de desarrollo local, que utiliza el emulador de proceso.

Excepción errónea del objeto de comunicación

Causa 1: el archivo web.config se marca como de solo lectura en el emulador de proceso.

En la versión 1.3 del SDK, este cuadro de diálogo aparece en el emulador de proceso de Windows Azure cuando el archivo web.config se marca como de solo lectura. El error no aparece al implementar en Windows Azure en la nube, porque los atributos del archivo se restablecen en cualquier implementación en la nube y, por tanto, se puede escribir en el archivo web.config. Observe que el emulador de proceso no copia el contenido del sitio durante la ejecución.

Solución: borre el atributo de solo lectura del archivo web.config. Si utiliza un sistema de control de código fuente, es posible que necesite desproteger el archivo.

En SDK 1.3, para hacer más sencillo el uso de ASP.NET, el entorno de Windows Azure configura automáticamente la clave del equipo de ASP.NET en un sitio de cada vez con el archivo web.config del sitio. La clave del equipo que se proporciona automáticamente es la misma para todas las instancias de un sitio determinado, pero es distinta en el resto de situaciones (entre implementaciones, etc.).

En versiones anteriores, la clave del equipo se establecía en el equipo. 

Causa 2: múltiples instancias de rol están escribiendo en el mismo archivo de configuración del emulador de proceso.

Este error puede aparecer en la versión 1.3 del SDK al iniciar varias instancias de un rol web determinado basado en IIS. Dado que todas las instancias hacen referencia a la misma ubicación en el disco, intentan escribir en el mismo archivo de configuración web, lo que provoca bloqueos intermitentes durante el inicio del rol.

Solución: limite la cantidad de instancias a una para un rol determinado cuando utilice el emulador de proceso. Antes de hacer la implementación en Windows Azure, restablezca la cantidad de instancias a un valor más elevado, según lo estime.

Causa 3: el proyecto tiene un gran número de archivos.

Este error puede aparecer en la versión 1.3 del SDK cuando se inicia un rol con un gran número de archivos. Ese error puede comenzar a producirse cuando hay entre 2000 y 5000 archivos. No es posible especificar un número exacto de archivos ya que este error depende de la sincronización y otros procesos que se estén ejecutando en la máquina virtual y que pueden repercutir en el rendimiento. Durante el inicio, se deben haber aplicado las ACL correctas a todos los archivos del proyecto. Este proceso se puede prolongar durante mucho tiempo y provocar bloqueos intermitentes durante el inicio del rol.

Solución: limite el número de archivos que se incluyen en el proyecto.

Causa 4: errores en el archivo web.config.

Estos errores pueden aparecer en la versión 1.3 del SDK cuando el archivo web.config tiene errores de configuración. A continuación, se incluye una lista parcial de errores posibles:

  • Formato XML no válido: faltan etiquetas de cierre, comillas sin cerrar, etc.

  • Duplicar <configSections>

  • Duplicar elementos machineKey

  • Se ha establecido la validación de machineKey en algún valor que no es: AES, SHA1, 3DES o MD5

Solución: corrija los errores en el archivo web.config.

Mostrar:
© 2014 Microsoft