打印服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.6 KiB

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<string, Printer> printerList = new Dictionary<string, Printer>();
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<IHostedService, MyService>();
});
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());
});
}
}
}