/// <summary>
 /// ���캯��
 /// </summary>
 public UnitOfWorkSynchronization(ITransaction transaction, UnitOfWorkDelegate unitOfWorkDelegate)
 {
     _transaction = transaction;
     _unitOfWorkDelegate = unitOfWorkDelegate;
     _asyncMessageBus = DependencyResolver.Resolve<IAsyncMessageBus>();
     _logger = DependencyResolver.Resolve<ILoggerFactory>().Create("EventSourcing.UnitOfWorkSynchronization");
 }
 /// <summary>
 /// 注册一个UnitOfWorkSynchronization事务同步对象到当前Castle的顶层事务中
 /// </summary>
 private void RegisterUnitOfWorkSynchronization(ITransaction transaction, UnitOfWorkDelegate unitofWorkDelegate)
 {
     if (transaction != null && !transaction.IsChildTransaction)
     {
         transaction.RegisterSynchronization(new UnitOfWorkSynchronization(transaction, unitofWorkDelegate));
     }
 }
 /// <summary>
 /// 构造函数
 /// </summary>
 public UnitOfWorkSynchronization(ITransaction transaction, UnitOfWorkDelegate unitOfWorkDelegate)
 {
     _transaction        = transaction;
     _unitOfWorkDelegate = unitOfWorkDelegate;
     _asyncMessageBus    = DependencyResolver.Resolve <IAsyncMessageBus>();
     _logger             = DependencyResolver.Resolve <ILoggerFactory>().Create("EventSourcing.UnitOfWorkSynchronization");
 }
 /// <summary>
 /// ע��һ��UnitOfWorkSynchronization����ͬ�����󵽵�ǰCastle�Ķ���������
 /// </summary>
 private void RegisterUnitOfWorkSynchronization(ITransaction transaction, UnitOfWorkDelegate unitofWorkDelegate)
 {
     if (transaction != null && !transaction.IsChildTransaction)
     {
         transaction.RegisterSynchronization(new UnitOfWorkSynchronization(transaction, unitofWorkDelegate));
     }
 }