Artículo original publicado el jueves, 27 de octubre de 2011

Tuve un problema que lamentablemente he visto que han encontrado algunos usuarios al usar la característica de almacenamiento en caché de AppFabric de Windows Azure.  Esta es la versión de lanzamiento del mecanismo de almacenamiento en caché anteriormente conocido como Velocidad.  Cuando tenga un problema con la fábrica de almacenamiento en caché que usa, con mayor frecuencia el mensaje de error que verá generado será en las líneas de "La colección de servidores no puede estar en blanco".  Lamentablemente ese es otro error omnipresente del que a menudo es bastante difícil realizar su seguimiento.  En este caso era incluso más sorprendente: tenía un ensamblado independiente compilado que estaba usando la memoria caché.  Cuando llamaba a dicho ensamblado desde un rol de trabajador de Azure no obtenía ningún error en absoluto.  Sin embargo, cuando agregaba una referencia al ensamblado a mis formularios de Windows e intentaba ejecutarlo, obtenía el temido error.

Después de pasar algún tiempo curioseando, quebrándome la cabeza y de introspección (por qué estoy aquí, por qué trabajo en esto, finalmente caí en la cuenta de por qué se producía el problema.  Aunque mi aplicación de formulario de Windows no estaba invocando directamente las clases de almacenamiento en caché, lo hacía el proceso de host.  Todo eso lo que indicaba es que todas las entradas de configuración de la memoria caché que se encontraban en mi aplicación de roles de trabajador, tenía que agregarse a la app.config de mi aplicación de formularios de Windows.  Una vez los agregaba todo funcionaba bien.

Supongo que este tipo de escenario es de alguna manera común pero puesto que este error es tan problemático de rastrear, pensé que debería capturarlo aquí para los usuarios que se encuentren en un aprieto similar.

Esta entrada de blog es una traducción. Puede consultar el artículo original en Server Collection Cannot Be Empty Error When Using Azure AppFabric Caching in Winforms Application