Beispiel #1
0
        public virtual object Resolve(NanoContainer container)
        {
            if (Logger.IsVerboseEnabled)
            {
                Logger.Verbose(Messages.ResolvingInstance);
            }
            if (_instancePerCall)
            {
                if (Logger.IsVerboseEnabled)
                {
                    Logger.Verbose(Messages.BuildingNewInstance);
                }
                return(_resolve(container));
            }

            if (Logger.IsVerboseEnabled)
            {
                Logger.Verbose(Messages.AttemptingToResolveInstance);
            }

            if (_instance != null)
            {
                return(_instance);
            }

            if (Logger.IsVerboseEnabled)
            {
                Logger.Verbose(Messages.BuildingAndStoringNewInstance);
            }
            return(_instance = _resolve(container));
        }
Beispiel #2
0
        public static Wireup Init()
        {
            var container = new NanoContainer();

            container.Register <IPersistStreams>(new InMemoryPersistenceEngine());
            container.Register(BuildEventStore);

            return(new Wireup(container));
        }
Beispiel #3
0
        public static Wireup Init()
        {
            var container = new NanoContainer();

            container.Register(TransactionScopeOption.Suppress);
            container.Register <IPersistStreams>(new InMemoryPersistenceEngine());
            container.Register <ISerialize>(new JsonSerializer());
            container.Register(BuildEventStore);

            return(new Wireup(container));
        }
        public static Wireup Init()
        {
            var container = new NanoContainer();

#if !NETSTANDARD1_6
            container.Register(TransactionScopeOption.Suppress);
#endif
            container.Register <IPersistStreams>(new InMemoryPersistenceEngine());
            container.Register(BuildEventStore);

            return(new Wireup(container));
        }
Beispiel #5
0
        private IDocumentSerializer ResolveSerializer(NanoContainer container)
        {
            var registered = container.Resolve <ISerialize>();

            if (registered == null)
            {
                return(_serializer);
            }

            Logger.Debug("Wrapping registered serializer of type '{0}' inside of a ByteStreamDocumentSerializer", registered.GetType());
            return(new ByteStreamDocumentSerializer(registered));
        }
Beispiel #6
0
        private static IStoreEvents BuildEventStore(NanoContainer context)
        {
            var concurrency = context.Resolve <OptimisticPipelineHook>();
            var upconverter = context.Resolve <EventUpconverterPipelineHook>();

            ICollection <IPipelineHook> hooks = context.Resolve <ICollection <IPipelineHook> >() ?? new IPipelineHook[0];

            hooks = new IPipelineHook[] { concurrency, upconverter }
            .Concat(hooks)
            .Where(x => x != null)
            .ToArray();

            return(new OptimisticEventStore(context.Resolve <IPersistStreams>(), hooks));
        }
Beispiel #7
0
        private static IStoreEvents BuildEventStore(NanoContainer context)
        {
            var scopeOption = context.Resolve <TransactionScopeOption>();
            OptimisticPipelineHook concurrency = scopeOption == TransactionScopeOption.Suppress ? new OptimisticPipelineHook() : null;
            var scheduler   = new DispatchSchedulerPipelineHook(context.Resolve <IScheduleDispatches>());
            var upconverter = context.Resolve <EventUpconverterPipelineHook>();

            ICollection <IPipelineHook> hooks = context.Resolve <ICollection <IPipelineHook> >() ?? new IPipelineHook[0];

            hooks = new IPipelineHook[] { concurrency, scheduler, upconverter }
            .Concat(hooks)
            .Where(x => x != null)
            .ToArray();

            return(new OptimisticEventStore(context.Resolve <IPersistStreams>(), hooks));
        }
        private static IStoreEvents BuildEventStore(NanoContainer context)
        {
#if !NETSTANDARD1_6
            var scopeOption = context.Resolve <TransactionScopeOption>();
            OptimisticPipelineHook concurrency = scopeOption == TransactionScopeOption.Suppress ? new OptimisticPipelineHook() : null;
#else
            OptimisticPipelineHook concurrency = new OptimisticPipelineHook();
#endif
            var upconverter = context.Resolve <EventUpconverterPipelineHook>();

            ICollection <IPipelineHook> hooks = context.Resolve <ICollection <IPipelineHook> >() ?? new IPipelineHook[0];
            hooks = new IPipelineHook[] { concurrency, upconverter }
            .Concat(hooks)
            .Where(x => x != null)
            .ToArray();

            return(new OptimisticEventStore(context.Resolve <IPersistStreams>(), hooks));
        }
Beispiel #9
0
        public virtual object Resolve(NanoContainer container)
        {
            Logger.LogTrace(Messages.ResolvingInstance);
            if (_instancePerCall)
            {
                Logger.LogTrace(Messages.BuildingNewInstance);
                return(_resolve(container));
            }

            Logger.LogTrace(Messages.AttemptingToResolveInstance);

            if (_instance != null)
            {
                return(_instance);
            }

            Logger.LogTrace(Messages.BuildingAndStoringNewInstance);
            return(_instance = _resolve(container));
        }
Beispiel #10
0
 protected Wireup(NanoContainer container)
 {
     _container = container;
 }