Hi Ayende,

Thanks and much appreciated for your prompt response.

Just before I check NH Prof, I am using NH 2.0.1.

Excuse me for my ignorance but is there a default expiration with
SysCache2 under NH2.0.1?

I can't see the setting in the NHibernate configuration schema.

Thanks,
Joe

On Sep 28, 1:29 pm, Ayende Rahien <[email protected]> wrote:
> What does NH Prof report?
> Are you specifying the expiration? I think that the default expiration is 5
> minutes.
>
>
>
> On Mon, Sep 28, 2009 at 3:47 AM, Jopo <[email protected]> wrote:
>
> > Hi All,
>
> > I have been having issues with NHibernate’s 2nd level caching while
> > using the SysCache2 provider. I am receiving a lot of random caching
> > misses that are occurring roughly every 3-5 minutes or so. The 2nd
> > level caching appears to be working when inspecting database calls
> > through SQL profiler, i.e. for cached queries or entities, first time
> > they are loaded into the 2nd level cache a query is sent and after
> > that no query is sent until the next miss.
>
> > I am using what I believe is the latest version from the trunk of the
> > SysCache2 provider (as of last week). I built the solution against a
> > NHibernate version from more than a few months ago. I would really
> > like to get this caching provider working because of the SQL Server
> > Dependencies functionality. I’ve tried SysCache but that does not
> > build against my NHibernate version.
>
> > I’ve searched the net and found that some people are having the same
> > problem but their solution did not work for me:
>
> >https://forum.hibernate.org/viewtopic.php?p=2406601
>
> > Below are my settings and configurations:
>
> > *Web.config*
>
> >    <section name="syscache2"
> > type="NHibernate.Caches.SysCache2.SysCacheSection,
> > NHibernate.Caches.SysCache2"/>
>
> >  <syscache2>
> >  <cacheRegion name="ReferenceData">
> >    <dependencies>
> >      <tables>
> >        <add name="DomainObjectA" databaseEntryName="DatabaseName"
> > tableName="dbo.DatabaseObjectA" />
> >        <add name=" DomainObjectB " databaseEntryName="
> > DatabaseName" tableName="dbo. DatabaseObjectB" />
> >      </tables>
> >    </dependencies>
> >  </cacheRegion>
> >  </syscache2>
>
> > *Session Factory.config*
>
> >  <session-factory name=" DatabaseName">
> >  <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</
> > property>
> >  <property
> > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> > property>
> >  <property
> > name="connection.driver_class">NHibernate.Driver.SqlClientDriver</
> > property>
> >  <property name="cache.use_second_level_cache">true</property>
> >  <property name="cache.use_query_cache" >true</property>
> >  <property
> > name="cache.provider_class">NHibernate.Caches.SysCache2.SysCacheProvider,
> > NHibernate.Caches.SysCache2</property>
> >  <!--<property
> > name="connection.connection_string_name">DatabaseConnectionString</
> > property>-->
> >  <property name="show_sql">false</property>
> >  <property name="generate_statistics">false</property>
> >  <property name="max_fetch_depth">1</property>
> >  <property name="connection.isolation">ReadCommitted</property>
> >  <property name="default_schema">dbo</property>
> >   <mapping assembly="AssemblyName.Repositories" />
> > </session-factory>
> > </hibernate-configuration>
>
> > *Mapping Files*
>
> > ObjectA.hbm
> > <class name="BusinessLogic.Domain.ObjectA, BusinessLogic.Domain"
> > table="ObjectA" optimistic-lock="version">
>
> >  <id name="Id" column ObjectAId" access="field.camelcase-
> > underscore">
> >    <generator class="identity" />
> >  </id>
>
> >  <version name="Version" column="RowVersion"
> > access="field.camelcase-underscore" />
>
> >  <many-to-one name=" ObjectB" class="BusinessLogic.Domain.ObjectB,
> > BusinessLogic.Domain" access="field.camelcase-underscore">
> >    <column name=" ObjectBId" not-null="true" fetch="select"
> > lazy="false"/>
> >  </many-to-one>
>
> > <property>
> > …
> > <property />
> >  </class>
>
> > ObjectB.hbm
> >  <class name=" BusinessLogic.Domain.ObjectB, BusinessLogic.Domain "
> > table="ObjectB" optimistic-lock="none" mutable="true">
> >  <cache usage="read-only" region="ReferenceData"/>
> >  <id name="Id" column="ObjectBId" access="field.camelcase-
> > underscore">
> >    <generator class="assigned" />
> >  </id>
>
> > <property>
> > …
> > <property>
> > </class>
>
> > *Query Example*
>
> >      public List<ObjectB> GetObjectBReferenceData()
> >      {
> >          List<ObjectB> objectBs = new List<ObjectB>();
> >          ICriteria critObjectBs =
> > UnitOfWork.CurrentSession.CreateCriteria(typeof(ObjectB))
> >                                  .SetCacheable(true);
> >          objectBs = critObjectBs.List<ObjectB>() as
> > List<ObjectB>;
> >          return objectBs;
> >      }
>
> > Please note that I am using Nhibernate version 2.0.1.X (where X is the
> > latest from the trunk) as opposed to using Nhibernate 2.0.1.400 which
> > has some serious memory leak issues:
>
> >http://www.rasmuskl.dk/post/A-WinDbg-Debugging-Journey-NHibernate-Mem...
>
> > Any help or direction would be very much appreciated.
>
> > Thanks,
> > Joe Turcic
> > Senior .NET Developer
> > Email: [email protected] Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"NHibernate Contrib - Development Group" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com.ar/group/nhcdevs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to