我正在为某些REST类型API创建.NET包装器。 我正在使用HttpClient进行通信(发送/接收Json)。 有许多异步方法。
验证是通过我收到的cookie并存储在cookiecontainer中。 我应该为每个函数或一个全局httpClient分别使用httpclient吗? 如果每个函数分开一个,那么分享附加到每个请求的cookiecontainer和自定义标头的最佳方法是什么?
答案 0 :(得分:2)
我建议保留与您正在调用的API相同的数字(这是我编写的方式),这意味着如果您要调用Twitter API,只需保留一个HttpClient实例,如果你在同一时间访问Facebook API,为此保留另一个。
请记住,在创建HttpClient之后,某些元数据无法更改(例如DefaultRequestHeaders),这是有意义的,因为HttpClient旨在重用以进行多次调用(例如,易于cookie或auth信息共享)。 / p>
答案 1 :(得分:-3)
绝对是每个函数,在using
语句中。自定义标题可以存储在静态变量中,只要它们只是被读取即可。在处理任何实例成员时,cookie容器可能需要锁定。