Share via


Erro Coleção do servidor não pode ser vazia ao usar o cache do Azure AppFabric no aplicativo Winforms

Artigo original publicado na quinta-feira, 27 de outubro de 2011

Tive um problema que infelizmente eu soube que outras pessoas encontraram ao usar o recurso de cache do AppFabric no Windows Azure.  Essa é a versão de liberação do mecanismo de cache antigamente chamada de Velocity.  Quando você tem um problema com a fábrica de cache que ele usa, frequentemente a mensagem de erro que você vê é mais ou menos "coleção do servidor não pode ser vazia".  Infelizmente, esse é outro erro comum e frequentemente difícil de entender.  Nesse caso, era ainda mais confuso – eu tinha um conjunto autônomo compilado que usava o cache.  Quando eu chamava esse conjunto a partir de uma função de trabalho do Azure, não recebia nenhum erro.  No entanto, quando adicionava uma referência ao conjunto ao meu aplicativo de teste do winforms e tentava executar, recebia o temível erro.

Depois de muita pesquisa, de arrancar os cabelos e de me fazer algumas perguntas metafísicas (por que estou aqui, por que trabalho com isso), finalmente entendi o problema.  Embora o meu aplicativo do winforms não estivesse invocando diretamente as classes de cache, ele era o processo do host.  Isso significa que a todas as entradas de configuração do cache que estavam no meu aplicativo de função de trabalho precisavam ser adicionadas ao app.config do meu aplicativo winforms.  Depois que eu as adicionei, tudo funcionou corretamente.

Esse tipo de cenário é bastante comum, eu suponho, mas como é difícil de entender, decidir publicar aqui para as pessoas que encontrem um problema semelhante.

Este é um post de um blog localizado. Encontre o artigo original em Server Collection Cannot Be Empty Error When Using Azure AppFabric Caching in Winforms Application