我正在将系统从 ASP.NET Core 5 升级到 6。我已阅读新的“最小托管模型”的迁移指南。
文档说新的方式是首选和推荐的,但旧的方式是受支持的 - 所以我不需要改变。他们还表示旧方法对于“高级”场景很有用,但没有提及细节。
有很多关于如何使用新方法的文档/博客/SO问题 - 但没有提及原因。给出了“仅四行应用程序”作为理由,但这不足以成为迁移工作系统的理由。
我将升级到 v6,但尚未决定托管模型。我或我的工作生产系统将如何受益?
如果您将生产系统迁移到新的托管模型,您能否分享一下是否值得的建议?新方法的优点(和缺点)是什么?谢谢!
c# asp.net-core asp.net-core-6.0 asp.net-core-minimal-hosting-model
我有一个长时间运行的进程,我想向其中添加 REST api。通过 API,我希望能够检查长时间运行的进程中变量的值。
我使用最少的 API 整理了一个概念验证:
public class Program
{
public static int val = 0;
public static object locker = new object();
public static void Main(string[] args)
{
Task.Run(() =>
{
while (true)
{
lock (locker)
{
val++;
}
Thread.Sleep(100);
}
});
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () =>
{
lock (locker)
return val;
});
app.Run();
}
}
Run Code Online (Sandbox Code Playgroud)
我的想法是让我的长时间运行进程的代码在 Task.Run 中运行。我以正确的方式处理这件事吗?我想做的事情是否有任何潜在的陷阱/陷阱?
c# task-parallel-library asp.net-web-api asp.net-core asp.net-core-minimal-hosting-model