一步一步迁移ASP.NET Core 6.0-Part1

2023-02-12,,,,

.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

一步一步迁移ASP.NET Core 6.0-Part1的相关教程结束。

《一步一步迁移ASP.NET Core 6.0-Part1.doc》

下载本文的Word格式文档,以方便收藏与打印。