ZetCode

ASP.NET CreateBuilder

最后修改于 2025 年 4 月 3 日

在本文中,我们将探讨 ASP.NET 8 中的 WebApplication.CreateBuilder 方法。此方法对于配置和启动 ASP.NET 应用程序至关重要。

ASP.NET 是一个跨平台、高性能的框架,用于构建现代 Web 应用程序。CreateBuilder 简化了应用程序的配置和启动。

基本定义

WebApplication.CreateBuilder 是一个工厂方法,用于创建 WebApplicationBuilder 实例。此生成器模式是配置 ASP.NET 应用程序的现代方式。

生成器提供了对配置、服务、日志记录和托管设置的访问。它取代了 ASP.NET Core 中传统的 Startup 类。

CreateBuilder 为 Web 应用程序设置了合理的默认值,包括 Kestrel 服务器、配置源和日志记录。它是大多数 ASP.NET 应用程序的入口点。

ASP.NET CreateBuilder 示例

下面的示例演示了一个使用 CreateBuilder 的基本 ASP.NET 应用程序。

Program.cs
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();

app.Run();

此代码设置了一个完整的 ASP.NET Web API 应用程序。CreateBuilder 方法使用默认配置和服务初始化应用程序。

builder.Services 属性用于在依赖项注入容器中注册服务。在这里,我们添加了控制器、API 资源管理器和 Swagger。

使用 builder.Build() 构建应用程序后,我们配置 HTTP 管道。添加了用于开发工具、HTTPS 和授权的中间件组件。

MapControllers 启用了控制器操作的属性路由。最后,app.Run() 启动应用程序并开始监听请求。

这种极简 API 方法在提供完整功能的同时减少了样板代码。整个应用程序配置包含在单个文件中。

来源

Microsoft ASP.NET Core 基础文档

在本文中,我们探讨了 ASP.NET 8 中的 CreateBuilder 方法。这种现代方法在保持灵活性的同时简化了应用程序配置。

作者

我叫 Jan Bodnar,是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教授编程方面拥有十多年的经验。

列出所有 ASP.NET 教程