.net 核心中间件创建中 next(context) 与 await next.Invoke(context) 之间的区别

Difference between next(context) vs await next.Invoke(context) in .net core middleware creation

根据我的理解,我们需要使用next(context)来调用下一个请求delegate/middleware。我浏览了多个在线资源,但没有发现 next(context) 和 next.Invoke(context).

之间的确切区别

我想在其他人根据我的学习编写的现有代码中使用 next(context) 代替 next.Invoke(context)。如果我使用 next() 而不是 next.Invoke(context),则一切正常。我想知道它是否会影响任何东西或者这两个调用之间有什么区别。

next 在此上下文中是 RequestDelegate,因此 next(context)next.Invoke(context) 之间没有功能差异。 next(context) 将被翻译成 next.Invoke(context)

请注意,在与 next.Invoke(context) 相同的情况下,您需要等待 next(context)

有关自定义中间件的更多信息:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/write?view=aspnetcore-5.0