ASP.NET 程序
最后修改于 2025 年 4 月 3 日
在本文中,我们将探讨 ASP.NET 8 中的 Program 类。该类作为 ASP.NET 应用程序的入口点,并配置 Web 主机。
.NET 8 中的 Program 类遵循最小 API 方法,为引导应用程序提供了一种简化的方式。它取代了早期版本中传统的 Startup 类模式。
基本定义
ASP.NET 中的 Program 类是配置和运行 Web 应用程序的入口点。它创建一个 WebApplicationBuilder 实例来设置服务。
.NET 8 中的 Program 类通常使用顶级语句,消除了显式的 Main 方法声明。这使得代码更简洁,同时保持了功能。
Program 类处理依赖项注入配置、中间件管道设置和应用程序启动。它是每个 ASP.NET Core 应用程序的基础。
ASP.NET Program 示例
以下示例演示了具有各种功能的完整 ASP.NET 8 Program 类配置。
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.MapGet("/hello", () => "Hello World!");
app.MapGet("/products", () =>
{
var products = new[]
{
new { Id = 1, Name = "Laptop", Price = 999.99m },
new { Id = 2, Name = "Mouse", Price = 19.99m }
};
return Results.Ok(products);
});
app.Run();
public partial class Program { }
此 Program.cs 文件演示了几个关键的 ASP.NET 8 功能。首先创建 WebApplicationBuilder 来配置服务和应用程序。
该示例展示了控制器、API 资源管理器和 Swagger 的服务注册。开发环境检查仅在开发期间启用 Swagger。
HTTP 管道配置了 HTTPS 重定向和授权。MapControllers 为控制器操作启用了约定式路由。
两个最小 API 端点直接在 Program.cs 中定义。第一个返回一个简单的字符串,第二个以 JSON 格式返回产品数组。
最后的 Program 类部分声明支持集成测试。这是 ASP.NET Core 应用程序中的一种常见模式。
来源
在本文中,我们探讨了 ASP.NET 8 中的 Program 类。这个核心组件以最少的样板代码配置和启动 ASP.NET 应用程序。