我正在使用Web api 2(.NET Core 2)。我需要开发一些包装类型的Web api,它可以调用某些第三方Web api。因此,我的代码将需要Httpclient来使用第三方Web API,并且它本身也将用作Web API。
某些第三方Web API需要Hmac身份验证,因此我需要自定义我的Authorization标头并向其添加哈希值。
最初,我想为此创建中间件,但随后阅读了有关委托处理程序的信息,现在我在某种程度上混淆了Web API中的委托/消息处理程序和中间件。
我还读到委派处理程序已在.net内核(Registering a new DelegatingHandler in ASP.NET Core Web API)中消失,但随后HttpClientFactory在.net内核中已提供委派处理程序。(https://www.stevejgordon.co.uk/httpclientfactory-aspnetcore-outgoing-request-middleware-pipeline-delegatinghandlers)有人可以澄清吗?
对于我的情况,有人可以建议(实现Hamc身份验证以调用第三方Web API)
1)我应该使用委派处理程序或中间件?
2)如果.net核心没有委派处理程序,何时应使用委派处理程序以及何时应使用中间件?