<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" />
Microsoft.Extensions.Hosting
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using SqlSugar;
internal class Program
{
static void Main(string[] args)
{
var builder = new HostBuilder()
.ConfigureServices((hostContext, services) =>
{
#region 添加Tcp服务器
services.AddTcpService(config =>
{
config.ConfigurePlugins(a =>
{
a.Add<MyTcpPlugin>();
})
.ConfigureContainer(a =>
{
a.AddConsoleLogger();
});
});
#endregion
services.AddHttpClient();
services.AddHostedService<WebSiteBeatWorker>();
// 从配置中获取多个数据库连接配置
List<ConnectionConfig> configs = hostContext.Configuration.GetSection("SqlSugar").Get<List<ConnectionConfig>>();
services.AddSingleton<ISqlSugarClient>((ISqlSugarClient)new SqlSugarScope(configs, (Action<SqlSugarClient>)(db => db.Aop.OnLogExecuting = (Action<string, SugarParameter[]>)((sql, pars) => { }))));
services.AddMemoryCache();
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
// 加载配置
config.AddJsonFile("appsettings.json", optional: true);
// 添加环境变量支持
config.AddEnvironmentVariables();
})
.ConfigureLogging((hostingContext, logging) =>
{
// 配置日志
logging.AddConsole();
});
var host = builder.Build();
//using (var serviceScope = host.Services.CreateScope())
//{
// var services = serviceScope.ServiceProvider;
// //var taskService = services.GetRequiredService<ITaskService>();
// //taskService.ExecuteTask();
//}
host.Run();
}
}
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"RabbitMQ": {
"Hostname": "localhost",
"ManagePort": 15672,
"QueueNames": "机房_CMS,机房_GNSS,机房_振动,机房_普通传感器,机房_电能质量",
"ProcessedQueueName": "处理结果1_",
"Port": 5672,
"Username": "guest",
"Password": "guest",
"RequestedHeartbeat": 60,
"PrefetchCount": 3000
},
"SqlSugar": [
{
"ConnectionString": "DataSource=ConfigDB.db",
"DbType": "Sqlite",
"ConfigId": "Db1",
"IsAutoCloseConnection": "true"
},
{
"ConnectionString": "host=localhost;port=8812;username=admin;password=quest;database=qdb;ServerCompatibilityMode=NoTypeLoading;",
"DbType": "QuestDB",
"ConfigId": "QuestDB",
"IsAutoCloseConnection": "true"
}
],
"Urls": "http://*:5019",
"AllowedHosts": "*"
}