Я был в этом несколько дней. Я сконфигурировал мой конфигуратор web/app, чтобы использовать кеш второго уровня с сервером Memcached и поставщиком из NHContrib. Я еще не получаю никаких исключений при тестировании. Я вижу, что он не использует кеш для моих запросов, которые я установил cacheable = true. Если я переключу провайдера на NHibernate.Cache.HashtableCacheProvider и протестируйте его, как ожидается.Поставщик Memcached для NHibernate не работает
здесь соответствующие разделы конфигурации Я использую
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler,NHibernate" />
<section name="memcache" type="NHibernate.Caches.MemCache.MemCacheSectionHandler,NHibernate.Caches.MemCache" />
</configSections>
<memcache>
<memcached host="192.168.215.60" port="11211" />
</memcache>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">
NHibernate.Connection.DriverConnectionProvider
</property>
<property name="dialect">
MT.Core.Persistence.Dialect, MT.Core
</property>
<property name="connection.driver_class">
NHibernate.Driver.SqlClientDriver
</property>
<property name="connection.connection_string">
Server=192.168.1.1;Initial Catalog=Test;User ID=TestUser;Password=fakepassword;
</property>
<property name="show_sql">true</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory,NHibernate.ByteCode.LinFu</property>
<property name="cache.provider_class">NHibernate.Caches.MemCache.MemCacheProvider,NHibernate.Caches.MemCache</property>
<!--<property name="cache.provider_class">NHibernate.Cache.HashtableCacheProvider</property>-->
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
</session-factory>
</hibernate-configuration>
</configuration>
есть свойство под фабрикой сеансов для cache.default_expiration, но добавление этого не приводит к работе кеша. Я все еще вижу два запроса к базе данных в тесте, где я должен его увидеть. – CountCet
У вас есть попытка истечения срока действия, потому что я использую memcache, и он работает для меня. – MatthieuGD
yes inside Я добавил, что точное свойство и оно выбрасывает и исключает. Я нахожусь на Nhibernate 2.1.2 –
CountCet