我正在升级一个从ASP.NET核心5到6的系统。我已经阅读了新的“最小托管模式”的迁移指南。
医生说,新的方式是首选和推荐的,但旧的方式是支持的-所以我不需要改变。他们还说,旧的方式是有用的“高级”方案,而没有提及细节。
关于如何使用的新方法,有许多关于docs /blog/ SO的问题,但是没有提到为什么是。一个“四行应用程序”作为一个理由,但这是不足以迁移一个工作的系统。
我将升级到v6,但还没有决定主机的模式。我或我的工作生产系统将如何受益?
如果您将一个生产系统迁移到新的托管模式,请您分享它是否值得的建议吗?新方法的优缺点是什么?谢谢!
发布于 2022-04-16 19:08:09
新主机模式最大的变化是风格的改变。IHostBuilder上的回调已改为更直线的模型(而不是添加回调,然后构建主机,而是编写代码来配置然后构建主机)。这使您可以在初始化和写入命令式逻辑之间进行操作。其中一个更大的显示方式是异步初始化。您只需编写等待某些异步配置的代码,然后使用其结果添加服务。这对于回调非常困难,因为我们需要添加异步配置/ConfigureServices和许多其他东西。这个模型只允许您编写代码。
迁移指南中的示例展示了如何保留Startup类,但仍然使用新的WebApplicationBuilder,说明了这一点:
using Microsoft.AspNetCore.Builder;
var builder = WebApplication.CreateBuilder(args);
var startup = new Startup(builder.Configuration);
startup.ConfigureServices(builder.Services);
var app = builder.Build();
startup.Configure(app, app.Environment);
app.Run();很明显,当调用这些方法时,以及启动是如何构造的,这是非常明显的。
最后,如果您已经完全了解现有模型并对其进行编程,那么它实际上是一种模式改变,您可能不会看到很大的好处。这就是为什么它是可选的。
https://stackoverflow.com/questions/71895364
复制相似问题