示例#1
0
        public static void RabbitMQTest()
        {
            var _container = new AutoFacServiceLocator();

            _container.ScanAssemblyAsPerLifetimeScope <TestConsumer1>();
            _container.Map <IExceptionProcess, ExceptionProcess>();
            RegisterModule.Register(_container);
            _container.UseAsDefault(true);
            var config = new RabbitMQConfig {
                Host = "localhost:/mis", Username = "******", Password = "******"
            };

            //_container.BusOnRabbitMq(config, x => x.SubscribeAt(config.Host, new DefaultConsumeConfigurator(_container)));
            _container.BusOnRabbitMq(config, x => x.PublishAt(config.Host, new DefaultConsumeConfigurator(_container)));
            var publisher = ServiceLocator.Current.GetInstance <IEventPublisher>();

            publisher.Publish <RabbitTestEvent1>(new RabbitTestEvent1 {
                UserId = 2, UserName = Guid.NewGuid().ToString()
            }, "mis");
            while (true)
            {
                publisher.Publish <RabbitTestEvent>(new RabbitTestEvent {
                    UserId = 2, UserName = Guid.NewGuid().ToString()
                });
                publisher.Publish <RabbitTestEvent2>(new RabbitTestEvent2 {
                    UserId = 3, UserName = Guid.NewGuid().ToString()
                });
            }
        }
示例#2
0
        public static void Publish()
        {
            var locator = new AutoFacServiceLocator();

            locator.Map <IDiagnosticProcessor, StoreDiagnosticSubscription>(null, true);
            locator.Map <IObserver <DiagnosticListener>, DiagnosticListenerObserver>(null, true);
            locator.UseAsDefault(true);
            var observer = ServiceLocator.Current.GetInstance <IObserver <DiagnosticListener> >();

            DiagnosticListener.AllListeners.Subscribe(observer);
            var listener = new DiagnosticListener(EventName.ListenerName);

            if (listener.IsEnabled(EventName.BeforeEventName))
            {
                listener.Write(EventName.BeforeEventName, new EventData {
                    Name = "huang"
                });
            }
            if (listener.IsEnabled(EventName.AfterEventName))
            {
                listener.Write(EventName.AfterEventName, new EventData {
                    Name = "huang"
                });
            }
        }
示例#3
0
        public void RegisterServiceLocator()
        {
            var container = CreateContainer();

            var serviceLocator = new AutoFacServiceLocator(container);

            _objectContainer.RegisterInstanceAs <IServiceLocator>(serviceLocator);
        }
示例#4
0
        public static void Test()
        {
            var locator = new AutoFacServiceLocator();

            locator.Map <IAA, AA>(typeof(IInterceptor).Name);
            locator.Map <IInterceptor, InvokeManagerInterceptor>();
            locator.UseAsDefault(true);
            var result = locator.GetInstance <IAA>().GetName();
        }
示例#5
0
        public static void AutoFacTest()
        {
            //如果需要进行AOP拦截的话则需要按照Autofac.Extras.DynamicProxy类库,实现IInterceptor接口
            var locator = new AutoFacServiceLocator();

            locator.ScanAssembly <IocTest>();
            //locator.Map<IB, B>("B");
            //locator.Map<IB, D>("D");
            //locator.Map<IB, D>();
            locator.UseAsDefault(true);
            //locator.GetInstance<IB>("B").Write();
            var instances = locator.GetAllInstance <IB>();
            var A         = ServiceLocator.Current.GetInstance <IB>();

            A.Write();
            foreach (var instance in instances)
            {
                instance.Write();
            }
        }