예제 #1
0
		public void Initialize(IObjectFactory factory)
		{
			if (!UseTrace)
				return;

			var interceptor = new QueryInterceptor();
			var aspectRegistrator = factory.Resolve<IAspectRegistrator>();

			aspectRegistrator.Around<IDatabaseQuery, IDbCommand, int>(
				q => q.Execute((IDbCommand)null),
				interceptor.LogExecuteNonQuery);
			aspectRegistrator.Around<IDatabaseQuery, IDbCommand, Action<IDataReader>>(
				q => q.Execute(null, null),
				interceptor.LogExecuteDataReader);
			aspectRegistrator.Around<IDatabaseQuery, IDbCommand, DataTable, int>(
				q => q.Fill(null, null),
				interceptor.LogFillTable);
		}
예제 #2
0
        public void Initialize(IObjectFactory factory)
        {
            if (!UseTrace)
            {
                return;
            }

            var interceptor       = new QueryInterceptor();
            var aspectRegistrator = factory.Resolve <IAspectRegistrator>();

            aspectRegistrator.Around <IDatabaseQuery, IDbCommand, int>(
                q => q.Execute((IDbCommand)null),
                interceptor.LogExecuteNonQuery);
            aspectRegistrator.Around <IDatabaseQuery, IDbCommand, Action <IDataReader> >(
                q => q.Execute(null, null),
                interceptor.LogExecuteDataReader);
            aspectRegistrator.Around <IDatabaseQuery, IDbCommand, DataSet, int>(
                q => q.Fill(null, null),
                interceptor.LogFillTable);
        }