HostBuilder 示例

<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": "*"
}