Exemplo n.º 1
0
        static Program()
        {
            var app = new Never.ApplicationStartup(new AppDomainAssemblyProvider()).RegisterAssemblyFilter("Never".CreateAssemblyFilter())
                      .UseEasyIoC((x, y, z) =>
            {
                var types = y.FindClassesOfType <IWorkStep>(z.ToArray());
                foreach (var type in types)
                {
                    x.RegisterType(type, type);
                }

                //x.RegisterType<MyEventHandler, MyEventHandler>();
                //x.RegisterType(typeof(MyGenericType<>), typeof(MyGenericType<>), string.Empty, ComponentLifeStyle.Transient);
            })
                      .UseForceCheckCommandHandlerCtor()
                      .UseForceCheckEventHandlerCtor()
                      .UseDataContractJson()
                      .UseEasyJson()
                      .UseAutoInjectingAttributeUsingIoC(new[]
            {
                SingletonAutoInjectingEnvironmentProvider.UsingRuleContainerAutoInjectingEnvironmentProvider("never"),
            })
                      .UsePublishSubscribeBus()
                      .UseInprocEventProviderCommandBus <DefaultCommandContext>(EmptyEventStreamStorager.Empty)
                      .UseEventBus()
                      //.UseHttpRequestCache()
                      //.UseRabbitMQProducer(new DefaultMessageConnection() { ConnetctionString = "amqp://*****:*****@192.168.1.108:5672/sms" })
                      .UseConcurrentCache("CounterDict")
                      //.UseHttpRuntimeCache("RuntimeCache")
                      //.UseMemoryCache("MemoryCache")
                      .Startup();
        }
Exemplo n.º 2
0
        static Program()
        {
            var app = new Never.ApplicationStartup(new AppDomainAssemblyProvider()).RegisterAssemblyFilter("Never".CreateAssemblyFilter())
                      .UseEasyIoC((x, y, z) =>
            {
                x.RegisterType <MMMTTT, MMMTTT>();
                x.RegisterType <TTTMMM, TTTMMM>();
                x.RegisterType(typeof(GRegistory <>), typeof(IRegistory <>), string.Empty, ComponentLifeStyle.Scoped);
            })
                      .UseForceCheckCommandHandlerCtor()
                      .UseForceCheckEventHandlerCtor()
                      .UseDataContractJson()
                      .UseEasyJson()
                      .UseAutoInjectingAttributeUsingIoC(new[]
            {
                SingletonAutoInjectingEnvironmentProvider.UsingRuleContainerAutoInjectingEnvironmentProvider("never"),
            })
                      .UsePublishSubscribeBus()
                      .UseInprocEventProviderCommandBus <DefaultCommandContext>(EmptyEventStreamStorager.Empty)
                      .UseEventBus()
                      //.UseHttpRequestCache()
                      //.UseRabbitMQProducer(new DefaultMessageConnection() { ConnetctionString = "amqp://*****:*****@192.168.1.108:5672/sms" })
                      .UseConcurrentCache("CounterDict")
                      //.UseHttpRuntimeCache("RuntimeCache")
                      //.UseMemoryCache("MemoryCache")
                      .Startup(x =>
            {
                using (var sc = x.ServiceLocator.BeginLifetimeScope())
                {
                    var ser = sc.Resolve <Never.Serialization.IJsonSerializer>();
                    var a   = sc.Resolve <MMMTTT>();
                    var b   = sc.Resolve <IRegistory <int> >();
                    System.Console.WriteLine(b.GetHashCode());
                }

                using (var sc = x.ServiceLocator.BeginLifetimeScope())
                {
                    var a = sc.Resolve <TTTMMM>();
                    var b = sc.Resolve <IRegistory <int> >();
                    System.Console.WriteLine(b.GetHashCode());
                }
            });
        }