在.NET 6发布后,许多应用需要升级到此版本。本文提供了一些将现有ASP.NET Core项目升级至ASP.NET Core 6.0的示例代码。
一、中间件更新
旧版静态文件中间件配置:
新ASP.NET Core 6.0实现如下:
var webApp = WebApplication.CreateBuilder(args);
var application = webApp.Build();
application.UseStaticFiles();
application.Run();
二、终结点路由添加
之前终结点路由设置方式:
ASP.NET Core 6.0中直接在WebApplication实例上添加路由:
var webApp = WebApplication.CreateBuilder(args);
var application = webApp.Build();
application.MapGet("/", () => "Hello ASP.NET 6!");
application.Run();
三、根目录、应用名称及环境配置
原先的内容根目录、应用名称和环境设定:
ASP.NET Core 6.0中的配置方式:
var webApp = WebApplication.CreateBuilder(new WebApplicationOptions
{
ApplicationName = typeof(Program).Assembly.FullName,
ContentRootPath = Directory.GetCurrentDirectory(),
EnvironmentName = Environments.Staging,
WebRootPath = "customwebroot"
});
Console.WriteLine($"App Name: {webApp.Environment.ApplicationName}");
Console.WriteLine($"Env Name: {webApp.Environment.EnvironmentName}");
Console.WriteLine($"Content Root: {webApp.Environment.ContentRootPath}");
Console.WriteLine($"Web Root Path: {webApp.Environment.WebRootPath}");
var appInstance = webApp.Build();
四、配置提供程序集成
从前使用Ini文件作为配置源的方法:
ASP.NET Core 6.0下的实现:
var webApp = WebApplication.CreateBuilder(args);
webApp.Configuration.AddIniFile("settings.ini");
var appInstance = webApp.Build();
五、日志记录提供程序添加
早期的日志记录提供程序配置:
ASP.NET Core 6.0的日志配置:
var webApp = WebApplication.CreateBuilder(args);
// 设置JSON格式的日志输出到控制台。
webApp.Logging.AddJsonConsole();
var appInstance = webApp.Build();
六、依赖注入服务注册
之前的依赖注入服务注册方法:
ASP.NET Core 6.0的服务注册方式:
var webApp = WebApplication.CreateBuilder(args);
// 注册内存缓存服务。
webApp.Services.AddMemoryCache();
// 注册自定义范围服务。
webApp.Services.AddScoped();
var appInstance = webApp.Build();
更多关于ASP.NET Core 6.0迁移的信息将在后续文章中介绍。