NHibernate+;AppFabric缓存
我使用AppFabric作为NHibernate 2L缓存提供程序 我已经安装了AppFabric缓存服务,配置了缓存群集和一个额外的缓存(默认缓存除外):NHibernate+;AppFabric缓存,nhibernate,appfabric,Nhibernate,Appfabric,我使用AppFabric作为NHibernate 2L缓存提供程序 我已经安装了AppFabric缓存服务,配置了缓存群集和一个额外的缓存(默认缓存除外): <dataCache size="Small"> <caches> <cache consistency="StrongConsistency" name="NHibernate"> <policy>
<dataCache size="Small">
<caches>
<cache consistency="StrongConsistency" name="NHibernate">
<policy>
<eviction type="Lru" />
<expiration defaultTTL="10" isExpirable="true" />
</policy>
</cache>
<cache consistency="StrongConsistency" name="default">
<policy>
<eviction type="Lru" />
<expiration defaultTTL="10" isExpirable="true" />
</policy>
</cache>
</caches>
<hosts>
<host replicationPort="22236" arbitrationPort="22235" clusterPort="22234"
hostId="963417840" size="2047" leadHost="true" account="ZEUS\CATALINP"
cacheHostName="AppFabricCachingService" name="ZEUS"
cachePort="22233" />
</hosts>
</dataCache>
在缓存提供程序端,一切似乎都正常
在app.config中使用的缓存客户端配置如下:
<dcacheClient localCache ="True" deployment="simple">
<localCache isEnabled="True" sync="TimeoutBased" ttlValue="300" />
<hosts>
<host name="ZEUS" cachePort="22233" cacheHostName="AppFabricCachingService"/>
</hosts>
</dcacheClient>
没什么特别的,只是普通的设置
然而,当我运行application时,我可以在调试器中看到以下输出:
已调用DeadServerCallback,服务器URI:
净。tcp://ZEUS:22233/AppFabricCachingService DeadServerCallback:
匹配我的服务器,清理挂起的请求SendMsgAndWait:Remote
存储操作失败:msgId=1 ExecuteAPI:响应为Null,msgId
=1
最后,应用程序崩溃,并显示以下消息:
“ErrorCode:Cache::Get:无法联系缓存
服务。请与管理员联系并参阅产品帮助文档
因为可能的原因。”
缓存服务似乎配置正确(我已通过Powershell命令成功连接到它),NHibernate配置似乎也正确,但NHibernate无法连接到缓存服务
有人有过类似的经历吗
谢谢,
C.NHibernate Velocity提供程序已损坏,无法与AppFabric一起使用。有关详细信息,请参阅,然后查找AppFabric的提供商。谢谢。我尝试过Simon的项目,我成功地在条件查询中加载二级缓存中的项,当我重新运行查询时购买,Nhibernate点击数据库而不是从缓存中读取数据。是否有人成功实施了西蒙的项目?谢谢你,C。这对我来说很好——但我会说,不是吗;O) 。请随时通过我的博客与我联系,我将为您进一步了解。谢谢Simon。虽然我已经让它工作了(配置文件缺少localCache部分,这是我的问题的原因),但是我在理解每件事情如何工作时可能会遇到一些问题。我感谢你的承诺,我可能很快会给你写一封更大的电子邮件。再次感谢你。