C# 一个中间件如何调用另一个中间件?
我正在学习ASP.NET核心,我被卡住了。我知道一个中间件调用另一个中间件,而且我知道如何调用,但我不明白这是怎么回事 请参阅此代码:C# 一个中间件如何调用另一个中间件?,c#,asp.net,C#,Asp.net,我正在学习ASP.NET核心,我被卡住了。我知道一个中间件调用另一个中间件,而且我知道如何调用,但我不明白这是怎么回事 请参阅此代码: app.Use(async (context,next) => { await next(); }); app.Run(async (context) => { await context.Response.WriteAsync("Hello from 2nd middleware!"); }); 一周前,我学习了C#中的线程和任务,
app.Use(async (context,next) =>
{
await next();
});
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello from 2nd middleware!");
});
一周前,我学习了C#中的线程和任务,现在我正试图理解这一点。
第一个中间件被调用,它使用wait next()调用第二个中间件代码>。
但它如何知道什么是第二位呢?根据微软的说法:
在中添加中间件组件的顺序
Configure方法定义中间件运行的顺序
组件在请求时被调用,而
答复
ApplicationBuilder是包含您在调用.Use()、.Run()、.Map()时添加的组件的列表。正如你们可能知道的,这个列表是保持秩序的
有关更多信息:它如何知道下一个是哪个?因为next
在被调用时被传递到它。