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

.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

 

相关文章

数组的定义 Dim MyArray MyArray = Array(1‚5‚123‚12‚98...
\'参数: \'code:要检测的代码 \'leixing:html或者ubb \'n...
演示效果: 代码下载: 点击下载
环境:winxp sp2 ,mysql5.0.18,mysql odbc 3.51 driver 表采...
其实说起AJAX的初级应用是非常简单的,通俗的说就是客户端(j...
<% ’判断文件名是否合法 Function isFilename(aFilename...