コード例 #1
0
 public static BaseMessageHandler CreateHandler(int messageType)
 {
     if (_msgHelperContainer == null)
     {
         lock (_lockObj)
         {
             ContainerBuilder cb = new ContainerBuilder();
             cb.Register(c => ModuleInjector.Inject <NormalMessageHandler>()).Named <BaseMessageHandler>(MessageType.Normal.ToString());
             cb.Register(c => ModuleInjector.Inject <AcceptMessageHandler>()).Named <BaseMessageHandler>(MessageType.Accept.ToString());
             cb.Register(c => ModuleInjector.Inject <RejectMessageHandler>()).Named <BaseMessageHandler>(MessageType.Reject.ToString());
             cb.Register(c => ModuleInjector.Inject <EndMessageHandler>()).Named <BaseMessageHandler>(MessageType.ConversationEnded.ToString());
             cb.Register(c => ModuleInjector.Inject <ContinueMessageHandler>()).Named <BaseMessageHandler>(MessageType.ConversationContinue.ToString());
             //cb.Register(c => ModuleInjector.Inject<HeartBeatMessageHandler>()).Named<BaseMessageHandler>(MessageType.HeartBeat.ToString());
             //cb.Register(c => ModuleInjector.Inject<MySqlHelper>()).Named<MessageHandler>("MySql");
             //cb.Register(c => ModuleInjector.Inject<MySqlHelper>()).Named<MessageHandler>("MySql");
             //cb.Register(c => ModuleInjector.Inject<MySqlHelper>()).Named<MessageHandler>("MySql");
             IContainer tmpContainer = cb.Build();
             if (_msgHelperContainer == null)
             {
                 _msgHelperContainer = tmpContainer;
             }
             else
             {
                 tmpContainer.Dispose();
             }
         }
     }
     return(_msgHelperContainer.ResolveNamed <BaseMessageHandler>(messageType.ToString()));
 }
コード例 #2
0
 protected void Application_Start()
 {
     AreaRegistration.RegisterAllAreas();
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
     ModuleInjector.Init();
 }
コード例 #3
0
        private static void LoggingTest()
        {
            LogUtils.LogLevel = LogLevelEnum.Debug;

            Console.WriteLine(new AOPTest().add(100, 200));
            Console.WriteLine(ModuleInjector.Inject <AOPTest>().add(100, 200));

            AOPTest data1 = new AOPTest()
            {
                DataInt = 300, DataString = "111"
            };
            AOPTest data2 = new AOPTest()
            {
                DataInt = 500, DataString = "222"
            };

            Console.WriteLine(XmlUtils.SerializeData(new AOPTest().add(data1, data2)));
            Console.WriteLine(XmlUtils.SerializeData(ModuleInjector.Inject <AOPTest>().add(data1, data2)));
            Console.WriteLine(XmlUtils.SerializeData(ModuleInjector.Inject <AOPTest>().add(data1, null)));
        }
コード例 #4
0
 public static DataHelper CreateHelper()
 {
     if (_dataHelperContainer == null)
     {
         lock (_lockObj)
         {
             ContainerBuilder cb = new ContainerBuilder();
             cb.Register(c => ModuleInjector.Inject <MySqlHelper>()).Named <DataHelper>("MySql");
             IContainer tmpContainer = cb.Build();
             if (_dataHelperContainer == null)
             {
                 _dataHelperContainer = tmpContainer;
             }
             else
             {
                 tmpContainer.Dispose();
             }
         }
     }
     return(_dataHelperContainer.ResolveNamed <DataHelper>(DatabaseConfig.Instance.Type.ToString()));
 }
コード例 #5
0
 public static void Init(TestContext testContext)
 {
     ModuleInjector.Init();
 }