AppFabric-做得很好,会超时吗



在痛苦地尝试使用Appfabric Caching(1.1)启动并运行我的虚拟环境之后,我能够在1个缓存集群中运行2个节点。两者都显示了系统,这很好。以前,这不是,也是一种痛苦。

所以我现在正在创建一个演示应用程序。该应用程序是在可以连接到虚拟环境的主机上开发的(使用VMware,它们都在除主机之外的域中)。

我可以把东西放在缓存中,我可以看到缓存统计数据,它反映了我在缓存中放了什么。但当得到时,它失败了!它只是超时,不知道为什么或去哪里:

? u.Email
"36277@bloggs.com"
? CacheManager.Instance.Cache.GetCacheItem(u.Email)
'CacheManager.Instance.Cache.GetCacheItem(u.Email)' threw an exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException'
base {System.Exception}: {"ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233"}
ErrorCode: 18
HelpLink: "http://go.microsoft.com/fwlink/?LinkId=164049"
Message: "ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.. Additional Information : The client was trying to communicate with the server : net.tcp://AppFabricTwo.appfabric.demo.com:22233"
SubStatus: -1
TrackingId: {00000000-0000-0000-0000-000000000000}

我有AppFabricOne和AppFabricTwo。我可以在它们之间进行通信,没有问题,我可以从主机计算机本身(托管VM的) ping和访问这2个

有什么想法吗?为什么会这样?该怎么办?虚拟机计算机上的Windows防火墙都被禁用,并且这些防火墙被加入到一个域(并且使用SQL)。

我的代码:

添加:

Random r = new Random();
int idChosen = r.Next(1, 99999);
User u = new User { LastName = "Bloggs", FirstName = "Joe", CellPhone = "(555) 555-5555", DOB = DateTime.Today.AddYears(-30), UserID = idChosen, Email = idChosen.ToString() + "@bloggs.com" };
DataCacheItemVersion item = CacheManager.Instance.Cache.Put(u.Email, u, this.txtRegion.Text);

检索:

CacheManager.Instance.Cache.GetCacheItem(u.Email)

是的,我也尝试过GetRegionItem,但仍然会出现与GetCacheItem相同的错误。

您是否使用与用于将项目放入缓存的对象相同的DataCacheFactory对象来获取缓存项目?PUT和GET工作的事实并没有让我认为它们在某种程度上是不同的数据缓存工厂对象。

您是否能够从客户端机器ping到FQDN AppFabricTwo.appfabric.demo,它是否解析为正确的IP地址,即与AppFabricTwo相同?还要检查从您的客户端到端口22233的telnet是否正常工作(如果put有效,则无论如何都应该通过有效

相关内容

最新更新