Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }