【问题标题】:Difference between next(context) vs await next.Invoke(context) in .net core middleware creation [duplicate].net核心中间件创建中next(context)与await next.Invoke(context)之间的区别[重复]
【发布时间】:2021-09-28 17:12:07
【问题描述】:

据我了解,我们需要使用 next(context) 来调用下一个请求委托/中间件。我浏览了多个在线资源,但没有找到 next(context) 和 next.Invoke(context) 之间的确切区别。

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

【问题讨论】:

    标签: c# asp.net-core asp.net-core-mvc .net-5 asp.net-core-middleware


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 2020-10-08
      • 2011-01-05
      • 2019-08-28
      • 2014-04-06
      • 2021-03-07
      • 2014-01-15
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      相关资源
      最近更新 更多