Appfabric cache 配置AppFabric缓存,但不在web.config中列出服务器

Appfabric cache 配置AppFabric缓存,但不在web.config中列出服务器,appfabric-cache,Appfabric Cache,我试图了解如何在网站上正确配置AppFabric缓存。我们计划使用SQL Server作为缓存管理器,据我所知,SQL将包含集群中缓存主机的列表 但是,在运行时 DataCacheFactory factory = new DataCacheFactory(); 我明白了 服务器集合不能为空 我想这是意料之中的,因为我没有在web.config中添加任何服务器 但是,我不希望在每个web服务器上维护服务器列表,我希望在SQL server上集中维护服务器列表。我假设有一种指向SQL Serve

我试图了解如何在网站上正确配置AppFabric缓存。我们计划使用SQL Server作为缓存管理器,据我所知,SQL将包含集群中缓存主机的列表

但是,在运行时

DataCacheFactory factory = new DataCacheFactory();
我明白了

服务器集合不能为空

我想这是意料之中的,因为我没有在web.config中添加任何服务器

但是,我不希望在每个web服务器上维护服务器列表,我希望在SQL server上集中维护服务器列表。我假设有一种指向SQL Server的方法,但我找不到有关如何执行此操作的信息

(我也尝试过XML配置选项,但它甚至找不到该文件。我已在power shell中检查了服务的运行状况。)

如何集中服务器缓存主机列表

我们正计划使用SQL Server作为缓存管理器,而且就我所知 可以理解SQL将包含缓存主机列表 集群

这是假的。SQL Server可以执行群集管理,但它仅用于管理缓存主机,最终用于管理缓存群集。它只是用于内部管理,您的客户端可以使用此配置,而不需要访问Sql Server

DataCacheFactory=新的DataCacheFactory()

此代码将尝试在配置中加载默认datacacheclient。在你的情况下,它应该是空的,这就是为什么你会得到这个错误

您仍然可以使用代码以这种方式配置缓存主机

// 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缓存会将请求路由到正确的缓存主机,如果它不在您的列表中