public Startup(IConfiguration configuration, IWebHostEnvironment env)
        {
            Configuration = configuration;
            var configMemory = new Dictionary <String, String>();

            configMemory.Add("Application:Path", env.ContentRootPath);
            configMemory.Add("Application:ContentRootPath", env.ContentRootPath);
            configMemory.Add("Application:WebRootPath", env.WebRootPath);
            configMemory.Add("Application:Env", env.EnvironmentName);

            var builder = new ConfigurationBuilder()
                          .SetBasePath(env.ContentRootPath)
                          .AddEnvironmentVariables("ASPNETCORE_")
                          .AddInMemoryCollection(configMemory)
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            // Auto Mapper Configurations
            #region NtkCmsFactoryAutoMapperConfig
            WebApiMapperConfig.Register(NtkCmsFactoryAutoMapperConfig.binder);
            NtkCmsFactoryAutoMapperConfig.Initialize();
            #endregion NtkCmsFactoryAutoMapperConfig
        }
        public static void Main(string[] args)
        {
            var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();

            try
            {
                logger.Info("Starting up the service");



                #region NtkCmsFactoryAutoMapperConfig
                WorkerMapperConfig.Register(NtkCmsFactoryAutoMapperConfig.binder);
                NtkCmsFactoryAutoMapperConfig.Initialize();
                #endregion NtkCmsFactoryAutoMapperConfig

                #region NtkCmsFactoryIocConfig
                WorkerIocConfig.Register(NtkCmsFactoryIocConfig.binder);
                NtkCmsFactoryIocConfig.Initilizer();
                var performanceLogTools = WorkerIocConfig.IocConfig.GetInstance <IPerformanceLogTools>();
                performanceLogTools = new PerformanceLogTools();


                var performanceTaskManager = WorkerIocConfig.IocConfig.GetInstance <IPerformanceTaskManager>();
                performanceTaskManager = new PerformanceTaskManager();

                #endregion NtkCmsFactoryIocConfig
                WorkerIocConfig.IocConfig.SetCmsConfiguration(appSettingRead());

                CreateHostBuilder(args).Build().Run();
            }
            catch (Exception ex)
            {
                logger.Fatal(ex, "There was a problem starting the serivce");
            }
            finally
            {
                NLog.LogManager.Shutdown();
            }
        }