微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET Core – HttpClient

前言

以前写过的文章 Asp.net core 学习笔记 ( HttpClient ).

其实 HttpClient 内容是挺多的, 但是我自己用到的很少. 所以这篇记入一下自己用到的就好了.

 

参考

3 ways to use HTTPClientFactory in ASP.NET Core 2.1

Docs – Make HTTP requests using IHttpClientFactory in ASP.NET Core

 

搭场景

假设我想到 Github – CountryCodes.json 下载 Country Code JSON.

dotnet new webapp -o TestHttpClient

 

3 大用法介绍

 

其实是 4 种哦, 只是第 4 种我不熟就忽略掉呗.

Basic usage 的方式是注入 HttpClientFactory > 创建 HttpClient > 发 request

Named clients 的方式是先在 program.cs provide 好 config, 比如 Uri, default header 等等. 然后注入 HttpClientFactory > 创建 HttpClient with named config > 发 request.

如果你要发多个不同的 path 但是相同的 origin 的话, 这个管理方式会比 Basic usage 好.

Typed clients 的方式是先做一个 service class, 在 constructor 注入 HttpClient 然后配置 config, 提供各做方法里面使用 HttpClient 发 request. 

这个方式主要就是封装了所以对这个 client 的请求, 外部只要 call service 的 method 就好. 

对比 3 大用法

可以看出来, 主要就是在管理上的区别. 个人建议, 如果只是 1 个请求, 那么直接用 basic 就好了, 如果多个请求, 或者多个地方用到, 那么就用 Type clients. 至于 Named clients 感觉有点不上不下就不要用了.

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐