WebApplicationBuilder和HostBuilder的区别

创建区别

  • WebApplicationBuilder
var builder = WebApplication.CreateBuilder(args);

// 在UseKestrel()方法中指定IP和端口
builder.WebHost.UseKestrel(options =>
{
    options.Listen(IPAddress.Parse("127.0.0.1"), 5000); // 指定IP和端口号
});

builder.Services.AddControllers();

var app = builder.Build();
app.Run();
  • HostBuilder
public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseKestrel(options =>
            {
                options.Listen(IPAddress.Loopback, 5000); // 指定端口号
            });
            webBuilder.UseStartup<Startup>(); //startup为启动类
        });

应用区别

  • WebApplicationBuilder 专门适用于web应用程序 便于配置UseRouting、UseEndpoints、Configure等中间件 或管道
  • CreateHostBuilder 则用途广泛 可用于构建泛型主机、任何类型的应用程序(控制台应用程序、Windows服务等) 包含完整的主机配置选项 包括ConfigureWebHostDefaults、ConfigureServices等
posted @ 2023-03-08 16:18  C余L小R鱼  阅读(275)  评论(0编辑  收藏  举报