using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Threading; using System.Threading.Tasks; namespace POSCorePrint { class Program { //private static Dictionary printerList = new Dictionary(); static async Task Main(string[] args) { //add by liuwz 2019-12-26 解决linux下时间格式的问题 var culture = CultureInfo.CreateSpecificCulture("zh-CN"); var dateformat = new DateTimeFormatInfo() { ShortTimePattern = "HH:mm:ss", LongTimePattern = "HH:mm:ss", ShortDatePattern = "yyyy-MM-dd", LongDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss" }; culture.DateTimeFormat = dateformat; CultureInfo.DefaultThreadCurrentUICulture = culture; CultureInfo.DefaultThreadCurrentCulture = culture; var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); Constant.Configuration = builder.Build(); Constant.ConnectionString = Constant.Configuration["Config:connectionString"]; Constant.PrintBackTime = double.Parse(Constant.Configuration["taskTimes:printBackTime"]); Constant.SaveHisDataDays = double.Parse(Constant.Configuration["taskTimes:saveHisDataDays"]); var hostBuilder = new HostBuilder() .ConfigureServices(serviceCollection => { //注册我们的服务接口 serviceCollection.AddSingleton(); }); await hostBuilder.RunConsoleAsync(); } } class MyService : IHostedService { public Task StartAsync(CancellationToken cancellationToken) { return Task.Run(() => { Console.WriteLine($"{DateTime.Now.ToString()}:开启打印任务:" + DateTime.Now.ToString()); TaskStart taskStart = new TaskStart(); taskStart.Start(); }); } public Task StopAsync(CancellationToken cancellationToken) { return Task.Run(() => { Console.WriteLine($"{DateTime.Now.ToString()}:关闭打印任务:" + DateTime.Now.ToString()); }); } } }