在 Winforms 应用程序中使用 Azure AppFabric 缓存时遇到“服务器集合不能为空”错误
原文发布于 2011 年 10 月 27 日(星期四)
在使用 Windows Azure 的 AppFabric 缓存功能时,我遇到了一个问题,遗憾的是我发现其他一些人也遇到了该问题。AppFabric 是以前称为 Velocity 的缓存机制的发布版本。在您遇到它使用的缓存工厂方面的问题时,通常引发的错误消息提示“服务器集合不能为空”。遗憾的是,这又是一个普遍存在但通常很难跟踪的错误。在我遇到的情况中,甚至更加令人困惑 - 我有一个经过编译的独立程序集,它使用该缓存。从 Azure 辅助角色调用该程序集时,我没有遇到任何错误。然而,在 winforms 测试应用程序中添加对该程序集的引用后,尝试运行它时,我遇到了严重错误。
经过毫无针对性的探索、在一段时间内抓住一个线索深入分析和认真思考(为什么我会遇到这种情况,为什么我要解决这个问题)后,最终我终于醒悟问题出在哪里。尽管我的 winform 应用程序不直接调用缓存类,但它是 主机进程。这就意味着,辅助角色应用程序中的所有缓存配置条目必须添加到 winforms 应用程序的 app.config 中。添加它们后,一切都恢复正常了。
这类情景我认为很常见,但是因为该错误很难跟踪,我想我应该在这里记录下来,以便遇到类似困境的人可以参考。
这是一篇本地化的博客文章。请访问 Server Collection Cannot Be Empty Error When Using Azure AppFabric Caching in Winforms Application 以查看原文