1

我刚刚在我的计算机上安装了Velocity,除了我无法将任何对象添加到缓存之外,一切似乎都运行良好。我可以毫无问题地检索缓存本身,但是当我尝试添加一个对象时,一切都会冻结五分钟,然后我就会超时。

我连接到缓存主机的代码(工作正常):

// Define Array for 1 cache host.
ServerEndPoint[] servers = new ServerEndPoint[1];

// Specify Cache Host Details 
servers[0] = new ServerEndPoint(
       "COMPUTERNAME" /* Host  */, 
       22233 /* Port */, 
       "DistributedCacheService" /* Service name */);

// Pass configuration settings to CacheFactory constructor.
m_cacheFactory = new CacheFactory(servers, 
       true /* Use routing client */, 
       false /* No local cache */);

// Get the cache (works fine).
Cache cache = m_cacheFactory.GetCache("MyCache");

我将对象添加到缓存的代码(不起作用):

// Get the cache.
Cache cache = m_cacheFactory.GetCache("MyCache");

// Create the item to put in the cache.
Product product = new Product();
product.Sku = "10000";
product.Name = "My Product";

// Put the object in the cache (The add method doesn't work either).
cache.Put(product.Sku /* Key */, product /* Value */);

通过集群管理员界面,我验证了缓存主机正在运行并且缓存本身存在。

任何人都知道问题可能是什么?

编辑:

我将一个日志接收器提供程序附加到缓存工厂,并且我已经验证存在某种超时。缓存主机在我的本地机器上,防火墙已关闭。

CASClient - 尝试与 net.tcp://l1441gbg:22233/distributedcacheservice,Velocity.DRM.SendReceive,Warning,2008-11-20 11:06:29.988 交谈超时

4

1 回答 1

2

您是否使用辅助选项创建了 namedCache“myCache”?我在使用单个服务器集群并使用 -Secondaries 1 选项创建 NamedCache 时遇到了同样的冻结问题。似乎主服务器无法复制您要放入缓存的对象。尝试删除命名的 chache 并使用 -secondaries 0 选项重新创建它。

于 2008-12-14T16:21:05.200 回答