|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Autofac.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.AspNetCore.Hosting;
|
|
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using VOL.Core.Configuration;
|
|
|
|
|
|
|
|
|
|
using VOL.WebApi.Controllers.MqDataHandle;
|
|
|
|
|
|
|
|
|
|
namespace VOL.WebApi
|
|
|
|
|
{
|
|
|
|
|
public class Program
|
|
|
|
|
{
|
|
|
|
|
public static void Main(string[] args)
|
|
|
|
|
{
|
|
|
|
|
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
|
|
|
|
|
AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true);
|
|
|
|
|
//CreateHostBuilder(args).Build().Run();
|
|
|
|
|
var host = CreateHostBuilder(args).Build();
|
|
|
|
|
#region kafka订阅消息111
|
|
|
|
|
//if (AppSetting.Kafka.UseConsumer)
|
|
|
|
|
//{
|
|
|
|
|
// using var scope = host.Services.CreateScope();
|
|
|
|
|
// var testConsumer = scope.ServiceProvider.GetService<IKafkaConsumer<string, string>>();
|
|
|
|
|
// testConsumer.Consume(res =>
|
|
|
|
|
// {
|
|
|
|
|
// Console.WriteLine($"recieve:{DateTime.Now.ToLongTimeString()} value:{res.Message.Value}");
|
|
|
|
|
// //静态方法 数据处理 入库等操作
|
|
|
|
|
// bool bl = DataHandle.AlarmData(res.Message.Value);
|
|
|
|
|
// //回调函数需返回便于执行Commit
|
|
|
|
|
// return bl;
|
|
|
|
|
// }, AppSetting.Kafka.Topics.TestTopic);
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
host.Run();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
|
|
|
|
Host.CreateDefaultBuilder(args)
|
|
|
|
|
.ConfigureWebHostDefaults(webBuilder =>
|
|
|
|
|
{
|
|
|
|
|
webBuilder.ConfigureKestrel(serverOptions =>
|
|
|
|
|
{
|
|
|
|
|
serverOptions.Limits.MaxRequestBodySize = 10485760;
|
|
|
|
|
// Set properties and call methods on options
|
|
|
|
|
});
|
|
|
|
|
webBuilder.UseKestrel().UseUrls("http://*:9991");
|
|
|
|
|
webBuilder.UseIIS();
|
|
|
|
|
webBuilder.UseStartup<Startup>();
|
|
|
|
|
}).UseServiceProviderFactory(new AutofacServiceProviderFactory());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//public static async Task Main(string[] args)
|
|
|
|
|
//{
|
|
|
|
|
// // 创建一个定时器,每隔1秒触发一次
|
|
|
|
|
// var timer = new Timer(async state =>
|
|
|
|
|
// {
|
|
|
|
|
// // 在这里编写您的异步任务逻辑
|
|
|
|
|
// await Task.Delay(1000);
|
|
|
|
|
// Console.WriteLine("异步定时任务执行");
|
|
|
|
|
// }, null, TimeSpan.Zero, TimeSpan.FromSeconds(1));
|
|
|
|
|
// TimeSpan.Zero 表示定时器立即开始执行,TimeSpan.FromSeconds(1) 表示每隔1秒触发一次定时任务。
|
|
|
|
|
|
|
|
|
|
// // 等待一段时间,观察异步定时任务的执行
|
|
|
|
|
// await Task.Delay(5000);
|
|
|
|
|
|
|
|
|
|
// // 停止定时器
|
|
|
|
|
// timer.Dispose();
|
|
|
|
|
|
|
|
|
|
// Console.WriteLine("定时器已停止");
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
}
|