gpt4 book ai didi

c# - Owin 中间件 VS WebAPI DelegatingHandler

转载 作者:可可西里 更新时间:2023-11-01 03:11:01 24 4
gpt4 key购买 nike

我正在阅读文章并检查示例,我发现 Owin 中间件的使用方式与 WebAPI DelegatingHandler 相同:记录传入请求、验证 header 等。

我唯一的理解是 Owin 中间件在管道中出现在 DelegatingHandlers 之前。因此,如果您为用户授权创建一个 Owin 中间件,您可以在较低级别更快地拒绝被禁止的请求。

这两者有什么区别,或者使用它们有什么优点/缺点吗?

最佳答案

我也在研究这个以找出有什么区别。我可以想出一些可能对你有帮助的想法。我想他们的目的是一样的,没有太大的不同。但是与 owin 相比,DelegatingHandler 是旧机制Owin 中间件:

  1. 这样做的目的是分离服务器和应用程序。通过这样做,您可以向您的管道(称为 owinmiddleware)注入(inject)大量模块。
  2. 通过这样做,您可以在 web api 的 HttpMessageHandler 可以处理它之前,在 httprequest 的早期阶段拦截请求。例如。您可以在创建 http Controller 之前读取用于初始化依赖项的数据。
  3. 通过构建模块,您可以重用 asp.net core 关注的中间件。

委托(delegate)处理程序:

  1. 它是网络 API 的一部分。在这个级别,我们有 HttpRequestMessage、HttpResponseMessage,因此我们可以轻松地使用它们而不是 owin 中间件进行操作(例如,您可以从请求消息正文中读取数据,而不必担心我们做了一些影响消息的事情)

    <
  2. 实际上,通过这样做,您将非常依赖 Web API 管道。我并不是说您以后不能重用它,但它可能会发生。

希望它能为您提供有用的信息。

谢谢,

关于c# - Owin 中间件 VS WebAPI DelegatingHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38707539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com