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 应用程序。