使用TMiddleware的IApplicationBuilder和IApplicationBuilder.Use()有什么区别吗?在机器人案例中,我可以编写优雅的扩展方法并最终使用
app.UseCustomMiddleware()
但我不知道这两种方法的好处。
最佳答案
在link ,您会发现“app.Run
委托(delegate)不接收 next
参数。第一个 Run
委托(delegate)始终是终端并终止管道”
并且在 link ,app.UseMiddleWare()可以接收下一个参数。
app.UseMiddleWare()
,中间件一般封装在一个类中,这样你就可以复用中间件,但是对于app.Use()
,你把代码直接在 Configure( IApplicationBuilder )
中,因此您不能重复使用它。
关于c# - Net Core app.UseMiddleware<T>() 和 app.Use(context, next) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62447516/