/// <summary> /// 构造函数 /// </summary> public DefaultUnitOfWork(ISyncMessageBus eventBus, ILoggerFactory loggerFactory, IDomainHandlerMetaDataProvider metaDataProvider) { _eventBus = eventBus; _logger = loggerFactory.Create("EventSourcing.DefaultUnitOfWork"); _trackingAggregateRoots = new List <AggregateRoot>(); _metaDataProvider = metaDataProvider; }
public NHibernateUnitOfWork(INHibernateSessionManager sessionManager, ISyncMessageBus eventBus, ILoggerFactory loggerFactory, IDomainHandlerMetaDataProvider metaDataProvider) : base(eventBus, loggerFactory, metaDataProvider) { //这里在构造函数中激活NHibernate的Session, //这样做的目的是确保在Castle提交事务时,不会有新的Session注册到Castle的事务上; //Castle不允许在提交事务的过程中再有创建Session的情况出现,否则会抛出资源竞争并发冲突异常。 sessionManager.OpenSession(); }
public NHibernateUnitOfWork(INHibernateSessionManager sessionManager, ISyncMessageBus eventBus, ILoggerFactory loggerFactory, IDomainHandlerMetaDataProvider metaDataProvider) : base(eventBus, loggerFactory, metaDataProvider) { //这里在构造函数中激活NHibernate的Session, //这样做的目的是确保在Castle提交事务时,不会有新的Session注册到Castle的事务上; //Castle不允许在提交事务的过程中再有创建Session的情况出现,否则会抛出资源竞争并发冲突异常。 sessionManager.OpenSession(); }