我正在阅读文章和检查exmaples,我看到Owin Middlewares与WebAPI DelegatingHandler的使用方式相同:记录传入的请求,验证标题等等。
我唯一的理解是Owin Middleware出现在管道中的DelegatingHandlers之前。因此,如果您创建一个Owin中间件,让我们说用户授权,您就可以在较低级别更快地拒绝禁止请求。
两者之间有什么不同,或者使用它们中的任何优点/缺点?
答案 0 :(得分:3)
我也正在研究这个以找出差异。我可以想出一些可能对你有帮助的想法。我认为它们的目的是相同的,而不是那么不同。但DelegatingHandler是与owin相比较旧的机制 Owin中间件:
DelegatingHandler:
这是网络API的一部分。在这个级别,我们有HttpRequestMessage,HttpResponseMessage,所以我们可以轻松地操作那些而不是owin中间件(例如,你可以从请求消息体中读取数据,而不用担心我们做了影响消息的事情)
通过这样做,实际上,您非常依赖web api管道。我并不是说你不能在未来重复使用它,但它可能会发生。
希望它能为您提供有用的信息。
谢谢,
答案 1 :(得分:2)
owin middle ware和web API委托处理程序之间的区别之一是 通过委托处理程序,您可以为特定路由编写自定义消息处理程序。
答案 2 :(得分:0)
Owin中间件根据您在IAppBuilder上设置的身份验证类型隐式执行某些身份验证操作。 例如:
API委托处理程序将整个控制权交给您。以上所有检查都需要在一个或一系列处理程序中手动实施。
答案 3 :(得分:0)