dove posso trovare SharedCache con guida fluente per iniziare
-
05-07-2019 - |
Domanda
dove posso trovare SharedCache con guida fluida per iniziare guida
Soluzione
C'è pochissima documentazione che ho trovato per far funzionare SharedCache con NHibernate, e tanto meno farlo in modo fluido. Tuttavia, non è un processo difficile:
-
Devi dire a NHibernate che stai utilizzando SharedCache come provider di cache. Un'altra risposta Stack Overflow fornisce un'implementazione di esempio per Fluent NHibernate. Il bit chiave è la funzione
Cache
, tranne che qui dovrai usareNHibernate.Caches.SharedCache.SharedCacheProvider
invece diNHibernate.Cache.HashtableCacheProvider
.A parte questo, per configurarlo in modo non fluente usi qualcosa del genere nella tua configurazione:
<add key="hibernate.cache.provider_class" value="NHibernate.Caches.SharedCache.SharedCacheProvider, NHibernate.Caches.SharedCache" />
In alternativa, se si esegue la configurazione tramite Spring.NET con le altre voci di configurazione di NHibernate:
<entry key="cache.provider_class" value="NHibernate.Caches.SharedCache.SharedCacheProvider, NHibernate.Caches.SharedCache" />
-
Dovrai quindi aggiungere le voci web.config / app.config per la cache come faresti quando utilizzi SharedCache senza NHibernate, ad esempio:
<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>
Puoi trovare molte più informazioni sulla configurazione di un client SharedCache sul loro sito web , anche se assicurati di configurare anche ogni server.
Spero che questo aiuti - Non sono stato in grado di testarlo completamente, quindi potrei aver fatto un errore da qualche parte.