我们计划使用 SQL Server 作为缓存管理器,据我所知,SQL 将包含集群中缓存主机的列表。
这是假的。SQL Server 可以执行集群管理,但它仅用于管理缓存主机,最终管理缓存集群。它只是用于内部管理,您的客户端可以使用此配置,他们不需要访问 Sql Server。
DataCacheFactory 工厂 = new DataCacheFactory();
此代码将尝试在配置中加载默认数据缓存客户端。在您的情况下,它应该是空的,这就是您收到此错误的原因。
您仍然可以使用代码以这种方式配置缓存主机。
// Declare array for cache host(s).
DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
servers[0] = new DataCacheServerEndpoint("CacheServer1", 22233);
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration();
factoryConfig.Servers = servers;
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);
DataCache myDefaultCache = mycacheFactory.GetCache("NamedCache1");
您无需在此处指定所有主机名,因为 AppFabric 缓存会将请求路由到正确的缓存主机,如果它不在您的列表中。