2009-11-27 91 views

回答

4

有很少的文檔,我發現越來越SharedCache與NHibernate的工作,更不用說流利地做。但是,這不是一個難的過程:

  1. 你需要告訴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" /> 
    
  2. 然後,您將需要添加的web.config /的app.config條目緩存爲你使用SharedCache時沒有NHibernate的,例如將:

    <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的更多信息,儘管一定要配置每臺服務器。

希望這會有所幫助 - 我還沒有能夠完全測試這個,所以我可能在某個地方犯了一個錯誤。

相關問題