/// <summary> /// Set session /// </summary> /// <param name="session"></param> public override void SetSession( ISession session) { // Cache current sessions session factory impl this.c_currentSessionFactoryImpl = (NHibernate.Impl.SessionFactoryImpl)session.SessionFactory; var _sessionImpl = session.GetSessionImplementation(); // Add sessionImpl if not already added if (!this.c_sessionFactorySessions.ContainsKey(_sessionImpl.SessionId)) { var _sessionDataComposite = new NHibernateProfiler.Common.Entity.SessionDataComposite(); _sessionDataComposite.Impl = _sessionImpl; _sessionDataComposite.Statistics = session.Statistics; this.c_sessionFactorySessions.Add(_sessionImpl.SessionId, _sessionDataComposite); } var _sessionImplFactorySettings = _sessionImpl.Factory.Settings; // Get sql statement logger reference var _sqlStatementLoggerProperty = _sessionImplFactorySettings.GetType().GetProperty("SqlStatementLogger"); // Set sql statement logger via reflection _sqlStatementLoggerProperty.SetValue(_sessionImplFactorySettings, NHibernateProfiler.Proxy.Factory.GetSqlStatementLogger(), null); }
/// <summary> /// Set session /// </summary> /// <param name="session"></param> public override void SetSession( ISession session) { // Cache current sessions session factory impl this.c_currentSessionFactoryImpl = (NHibernate.Impl.SessionFactoryImpl)session.SessionFactory; var _sessionImpl = session.GetSessionImplementation(); // Add sessionImpl if not already added if (!this.c_sessionFactorySessions.ContainsKey(_sessionImpl.SessionId)) { var _sessionDataComposite = new NHibernateProfiler.Common.Entity.SessionDataComposite(); _sessionDataComposite.Impl = _sessionImpl; _sessionDataComposite.Statistics = session.Statistics; this.c_sessionFactorySessions.Add(_sessionImpl.SessionId, _sessionDataComposite); } var _sessionImplFactorySettings = _sessionImpl.Factory.Settings; // Get sql statement logger reference var _sqlStatementLoggerProperty = _sessionImplFactorySettings.GetType().GetProperty("SqlStatementLogger"); // Set sql statement logger via reflection _sqlStatementLoggerProperty.SetValue(_sessionImplFactorySettings, NHibernateProfiler.Proxy.Factory.GetSqlStatementLogger(), null); }