NHibernate+;AppFabric缓存

NHibernate+;AppFabric缓存,nhibernate,appfabric,Nhibernate,Appfabric,我使用AppFabric作为NHibernate 2L缓存提供程序 我已经安装了AppFabric缓存服务,配置了缓存群集和一个额外的缓存(默认缓存除外): <dataCache size="Small"> <caches> <cache consistency="StrongConsistency" name="NHibernate"> <policy>

我使用AppFabric作为NHibernate 2L缓存提供程序

我已经安装了AppFabric缓存服务,配置了缓存群集和一个额外的缓存(默认缓存除外):

<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部分,这是我的问题的原因),但是我在理解每件事情如何工作时可能会遇到一些问题。我感谢你的承诺,我可能很快会给你写一封更大的电子邮件。再次感谢你。