.NET 6 发布后,我们现有的应用会逐步升级到这个版本,首当其冲的是原因的ASP.NET Core的工程,如果一步一步升级到ASP.NET Core 6.0
本文简单整理一下升级ASP.NET Core 6.0的一些常用代码示例。
一、中间件升级
原有添加静态文件中间件的代码:
升级ASP.NET Core 6.0的代码实现:
var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.UseStaticFiles(); app.Run();
二、添加终结点路由
原有添加终结点路由的方式
升级ASP.NET Core 6.0的代码实现:
可以直接将路由添加到 WebApplication,而无需显式调用 UseEndpoints 或 UseRouting。
var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/", () => "ASP.NET6!"); app.Run();
三、内容根、应用名称和环境
原有代码中内容根、应用名称和环境的设置方式:
升级ASP.NET Core 6.0的代码实现:
var builder = WebApplication.CreateBuilder(new WebApplicationOptions { ApplicationName = typeof(Program).Assembly.FullName, ContentRootPath = Directory.GetCurrentDirectory(), EnvironmentName = Environments.Staging, WebRootPath = "customwwwroot" }); Console.WriteLine($"Application Name: {builder.Environment.ApplicationName}"); Console.WriteLine($"Environment Name: {builder.Environment.EnvironmentName}"); Console.WriteLine($"ContentRoot Path: {builder.Environment.ContentRootPath}"); Console.WriteLine($"WebRootPath: {builder.Environment.WebRootPath}"); var app = builder.Build();
可以按环境变量或命令行更改内容根、应用程序名称和环境,
以下显示了用于更改内容根、应用程序名称和环境的环境变量及命令行参数:
四、添加配置提供程序
原先ASP.NET Core 5.0 添加配置提供程序的代码实现,以Ini配置文件为例:
升级ASP.NET Core 6.0的代码实现:
var builder = WebApplication.CreateBuilder(args); builder.Configuration.AddIniFile("appsettings.ini"); var app = builder.Build();
五、添加日志记录提供程序
原先ASP.NET Core 5.0 添加日志记录提供程序的代码实现
升级ASP.NET Core 6.0的代码实现:
var builder = WebApplication.CreateBuilder(args); // Configure JSON logging to the console. builder.Logging.AddJsonConsole(); var app = builder.Build();
六、DI依赖注入管理添加、注册服务
原先ASP.NET Core 5.0 添加一个服务的实现方式:
升级ASP.NET Core 6.0的代码实现:
var builder = WebApplication.CreateBuilder(args); // Add the memory cache services. builder.Services.AddMemoryCache(); // Add a custom scoped service. builder.Services.AddScoped<IOrderService, OrderServiceRepository>(); var app = builder.Build();
迁移ASP.NET Core 6.0涉及到的内容还有一些,将在下一篇文章中陆续增加。
周国庆
2022/3/21