示例#1
0
        static void Main(string[] args)
        {
            Console.WindowHeight = 30;
            Console.WindowWidth  = 150;

            var bus        = new InProcessEventBus(true);
            var eventStore = Program.GetBrowsableEventStore();
            var buffer     = new InMemoryBufferedBrowsableElementStore(eventStore, 20 /*magic number found in ThresholdFetchPolicy*/);

            bus.RegisterAllHandlersInAssembly(typeof(MyNotes.Denormalizers.NoteDenormalizer).Assembly);
            BootStrapper.BootUp(buffer);

            var pipeline = Pipeline.Create("Default", new EventBusProcessor(bus), buffer);

            pipeline.Start();

            var commandServiceHost = new ServiceHost(typeof(CommandWebService));

            commandServiceHost.Open();

            Console.ReadLine();

            commandServiceHost.Close();
            pipeline.Stop();
        }
示例#2
0
        private static IEventBus InitializeEventBus(InMemoryBufferedBrowsableElementStore buffer)
        {
            var bus = new InProcessEventBus();

            bus.RegisterHandler(new InMemoryBufferedEventHandler(buffer));

            return(bus);
        }
示例#3
0
        public static void BootUp(InMemoryBufferedBrowsableElementStore buffer)
        {
            var config = new Ncqrs.Config.StructureMap.StructureMapConfiguration(cfg =>
            {
                cfg.For <ICommandService>().Use(InitializeCommandService);
                cfg.For <IEventBus>().Use(x => InitializeEventBus(buffer));
                cfg.For <IEventStore>().Use(InitializeEventStore);
                cfg.For <IKnownCommandsEnumerator>().Use(new AllCommandsInAppDomainEnumerator());
            });

            NcqrsEnvironment.Configure(config);
        }
示例#4
0
        static void Main(string[] args)
        {
            var bus = new InProcessEventBus(true);

            bus.RegisterAllHandlersInAssembly(typeof(Program).Assembly);
            var browsableEventStore = new MsSqlServerEventStoreElementStore(Settings.Default.EventStoreConnectionString);
            var buffer   = new InMemoryBufferedBrowsableElementStore(browsableEventStore, 20 /*magic number faund in ThresholedFetchPolicy*/);
            var pipeline = Pipeline.Create("Default", new EventBusProcessor(bus), buffer);

            BootStrapper.BootUp(buffer);
            var commandServiceHost = new ServiceHost(typeof(CommandWebService));

            commandServiceHost.Open();
            pipeline.Start();

            Console.ReadLine();

            pipeline.Stop();
            commandServiceHost.Close();
        }
示例#5
0
        private static void ConfigureNcqrsEnvironment(InMemoryBufferedBrowsableElementStore buffer)
        {
            var eventStoreConnectionString = ConfigurationManager.ConnectionStrings["MyNotes Event Store"].ConnectionString;
            var eventStore = new MsSqlServerEventStore(eventStoreConnectionString);

            Assembly domainAssembly = Assembly.LoadFrom("MyNotes.Domain.dll");

            IWindsorContainer container = new WindsorContainer();

            container.AddFacility("ncqrs.ds", new DynamicSnapshotFacility(domainAssembly));
            container.Register(
                Component.For <ISnapshottingPolicy>().ImplementedBy <SimpleSnapshottingPolicy>(),
                Component.For <ICommandService>().Instance(InitializeCommandService()),
                Component.For <IEventBus>().Instance(InitializeEventBus(buffer)),
                Component.For <IEventStore>().Forward <ISnapshotStore>().Instance(eventStore),
                Component.For <IKnownCommandsEnumerator>().Instance(new AllCommandsInAppDomainEnumerator()),
                Component.For <Note>().AsSnapshotable());

            WindsorConfiguration config = new WindsorConfiguration(container);

            NcqrsEnvironment.Configure(config);
        }
示例#6
0
文件: Program.cs 项目: GattakaN/Ncqrs
        static void Main(string[] args)
        {
            Console.WindowHeight = 30;
            Console.WindowWidth = 150;

            var bus = new InProcessEventBus(true);
            var eventStore = Program.GetBrowsableEventStore();
            var buffer = new InMemoryBufferedBrowsableElementStore(eventStore, 20 /*magic number found in ThresholdFetchPolicy*/);

            bus.RegisterAllHandlersInAssembly(typeof(MyNotes.Denormalizers.NoteDenormalizer).Assembly);
            BootStrapper.BootUp(buffer);

            var pipeline = Pipeline.Create("Default", new EventBusProcessor(bus), buffer);
            pipeline.Start();

            var commandServiceHost = new ServiceHost(typeof(CommandWebService));
            commandServiceHost.Open();

            Console.ReadLine();

            commandServiceHost.Close();
            pipeline.Stop();
        }
示例#7
0
 public static void BootUp(InMemoryBufferedBrowsableElementStore buffer)
 {
     ConfigureNcqrsEnvironment(buffer);
 }