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.

80 lines
3.1 KiB

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