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>(); // 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(); }).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("定时器已停止"); //} } }