示例#1
0
        public static void Main(string[] args)
        {
            _logger = LogManager.GetCurrentClassLogger();
            RegisterDependencies();
            InitializeConfigurationFileDependencies();
            LoadPlugins();

            _logger.Debug("Configuration Loaded.");
            SetupAriEndpoint();
            _logger.Info("Verifying DI Container", new { DIContainer = "SimpleInjector" });
            ObjectContainer.GetInstance().Verify();

            var service = new ArkeCallFlowService();

            service.Start();

            _logger.Info("Service running, press CTRL-C to terminate.");

            try
            {
                _logger.Info("Starting Web Host services.");
                BuildWebHost(args).Run();
            }
            catch (Exception e)
            {
                _logger.Fatal(e, "Host terminated unexpectedly.");
            }
        }
示例#2
0
        private static void LoadPlugins()
        {
            _pluginDirectory = ArkeCallFlowService.GetConfigValue("appSettings:PluginDirectory");
            var assemblies =
                from file in new DirectoryInfo(_pluginDirectory).GetFiles()
                where string.Equals(file.Extension, ".dll", StringComparison.InvariantCultureIgnoreCase)
                select Assembly.Load(AssemblyLoadContext.GetAssemblyName(file.FullName));

            ObjectContainer.GetInstance().GetSimpleInjectorContainer().RegisterPackages(assemblies);
        }
示例#3
0
        private static void LoadPlugins()
        {
            _pluginDirectory = ArkeCallFlowService.GetConfigValue("appSettings:PluginDirectory");
            var assemblies =
                from file in new DirectoryInfo(_pluginDirectory).GetFiles()
                where file.Extension.ToLowerInvariant() == ".dll"
                select Assembly.Load(AssemblyLoadContext.GetAssemblyName(file.FullName));

            ObjectContainer.GetInstance().GetSimpleInjectorContainer().RegisterPackages(assemblies);
        }
示例#4
0
        public static void Main(string[] args)
        {
            _logger = LogManager.GetCurrentClassLogger();
            RegisterDependencies();
            InitializeConfigurationFileDependencies();
            LoadPlugins();

            _logger.Debug("Configuration Loaded.");
            SetupAriEndpoint();
            _logger.Info("Verifying DI Container", new { DIContainer = "SimpleInjector" });
            ObjectContainer.GetInstance().Verify();

            var service = new ArkeCallFlowService();

            service.Start();

            _logger.Info("Service running, press CTRL-C to terminate.");
            Console.ReadLine();
        }