在哪里可以找到具有流畅的nhibernate入门指南的SharedCache
答案 0 :(得分:4)
我发现很少有文档可以让SharedCache与NHibernate一起工作,更不用说流利了。但是,这不是一个艰难的过程:
您需要告诉NHibernate您正在使用SharedCache作为缓存提供程序。 Another Stack Overflow answer为Fluent NHibernate提供了一个示例实现。关键位是Cache
函数,除此之外,您需要使用NHibernate.Caches.SharedCache.SharedCacheProvider
而不是NHibernate.Cache.HashtableCacheProvider
。
顺便说一句,要配置它不流畅,你可以在配置中使用这样的东西:
<add key="hibernate.cache.provider_class" value="NHibernate.Caches.SharedCache.SharedCacheProvider, NHibernate.Caches.SharedCache" />
或者,如果您通过Spring.NET配置其余的NHibernate配置条目:
<entry key="cache.provider_class" value="NHibernate.Caches.SharedCache.SharedCacheProvider, NHibernate.Caches.SharedCache" />
然后,您将需要为缓存添加web.config / app.config条目,就像在没有NHibernate时使用SharedCache一样,例如:
<configSections>
<section name="indexusNetSharedCache" type="MergeSystem.Indexus.WinServiceCommon.Configuration.Client.IndexusProviderSection, MergeSystem.Indexus.WinServiceCommon" />
</configSections>
<indexusNetSharedCache defaultProvider="IndexusSharedCacheProvider">
<servers>
<add key="myServer1" ipaddress="127.0.0.1" port="48888"/>
</servers>
<providers>
<add name="IndexusSharedCacheProvider" type="MergeSystem.Indexus.WinServiceCommon.Provider.Cache.IndexusSharedCacheProvider, MergeSystem.Indexus.WinServiceCommon" />
</providers>
</indexusNetSharedCache>
您可以找到有关配置SharedCache客户端on their website的更多信息,但请务必配置每台服务器。
希望这会有所帮助 - 我无法对此进行全面测试,所以我可能在某个地方犯了错误。