public StoveNHibernateInterceptor(IScopeResolver scopeResolver)
        {
            IScopeResolver innerResolver = scopeResolver;

            _stoveSession =
                new Lazy <IStoveSession>(
                    () => innerResolver.IsRegistered(typeof(IStoveSession))
                        ? innerResolver.Resolve <IStoveSession>()
                        : NullStoveSession.Instance,
                    true
                    );

            _guidGenerator =
                new Lazy <IGuidGenerator>(
                    () => innerResolver.IsRegistered(typeof(IGuidGenerator))
                        ? innerResolver.Resolve <IGuidGenerator>()
                        : SequentialGuidGenerator.Instance,
                    true
                    );

            _eventBus =
                new Lazy <IEventBus>(
                    () => innerResolver.IsRegistered(typeof(IEventBus))
                        ? innerResolver.Resolve <IEventBus>()
                        : NullEventBus.Instance,
                    true
                    );

            _commandContextAccessor =
                new Lazy <IStoveCommandContextAccessor>(
                    () => innerResolver.Resolve <IStoveCommandContextAccessor>(),
                    true);
        }
        public StoveNHibernateInterceptor(IScopeResolver scopeResolver)
        {
            _scopeResolver = scopeResolver;

            _stoveSession =
                new Lazy <IStoveSession>(
                    () => _scopeResolver.IsRegistered(typeof(IStoveSession))
                        ? _scopeResolver.Resolve <IStoveSession>()
                        : NullStoveSession.Instance,
                    isThreadSafe: true
                    );
            _guidGenerator =
                new Lazy <IGuidGenerator>(
                    () => _scopeResolver.IsRegistered(typeof(IGuidGenerator))
                        ? _scopeResolver.Resolve <IGuidGenerator>()
                        : SequentialGuidGenerator.Instance,
                    isThreadSafe: true
                    );

            _eventBus =
                new Lazy <IEventBus>(
                    () => _scopeResolver.IsRegistered(typeof(IEventBus))
                        ? _scopeResolver.Resolve <IEventBus>()
                        : NullEventBus.Instance,
                    isThreadSafe: true
                    );
        }
Beispiel #3
0
 /// <summary>
 ///     Determines whether the specified type is registered.
 /// </summary>
 /// <param name="type">The type.</param>
 /// <returns>
 ///     <c>true</c> if the specified type is registered; otherwise, <c>false</c>.
 /// </returns>
 public bool IsRegistered(Type type)
 {
     return(_scope.IsRegistered(type));
 }