【发布时间】:2018-05-21 14:03:49
【问题描述】:
所以我的应用程序涉及大量网络调用(可能连接到 10 个不同的服务器)和获取数据。从我读过的几篇文章中,建议重用 HTTPClient 实例,因为它可以防止资源(套接字等)的浪费。但是我发现围绕一个可扩展且健壮的静态 HTTPClient 设计一个模块有点困难。我所有的服务器连接都需要不同的标题集、查询参数等。 每个服务器/端点模型使用一个 HTTPClient 会更好吗?
【问题讨论】:
-
这就是为什么您在
HttpRequestMessage和SendAsync()上设置标题、内容和参数,而不是直接在客户端实例上设置这些内容。 -
对于访问令牌之类的东西,您可以创建一个自定义 HttpMessageHandler
-
缓存不同域的标头,并在发送时将其应用于请求消息。
-
@nkosi 你能解释一下缓存标头部分吗?你的意思是每个域都有一个单独的标题。
-
您说您的所有服务器连接都需要不同的标头集等。如果该信息存储在委托中,可以在基于连接发送时应用于请求消息,那么您可以保留一个客户,只需应用必要的标头
标签: c# .net xamarin xamarin.android