繁体   English   中英

我应该对每个功能使用HttpClient还是对整个应用程序使用HttpClient?

[英]Should I use HttpClient per function or one for whole application?

我正在为某些REST类型的API创建.NET包装器。 我正在使用HttpClient进行通信(发送/接收Json)。 有许多异步方法。

验证是通过我正在接收并存储在cookiecontainer中的cookie进行的。 我应该为每个功能使用一个单独的httpclient还是一个全局httpClient? 如果每个功能分开,共享每个请求附加的cookiecontainer和自定义标头的最佳方法是什么?

我建议您保持与您要调用的API相同的编号(这就是我编码的方式),这意味着如果您要调用Twitter API,则只需为此保留一个HttpClient实例,并且如果要在其中访问Facebook API,同时,为此保留另一个。

请记住,创建HttpClient之后,某些元数据将无法更改(例如DefaultRequestHeaders),这是有道理的,因为HttpClient用于重用以进行多次调用(例如,易于进行cookie或auth信息共享)。

using语句中,绝对是每个函数。 只要只读取自定义标头,就可以将其存储在静态变量中。 当使用任何实例成员时,cookie容器可能需要锁定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM