在 long 运行 worker 服务中创建 HttpClient 对象的建议方法是什么

What is the suggested way to create HttpClient object in long running worker service

我正在研究 worker service,它使用 HttpClient 为 getting/posting 数据提供单独的 class DALDAL 有几个方法,在每个方法中 HttpClient 对象有不同的 param/values.

一种方法是在 DAL 的每个方法中创建对象。

其他方法是在 DAL 的构造函数中创建,但在方法之间切换时不确定 HttpClient 对象如何与已分配的值重叠。

求推荐。

in every method HttpClient object has different param/values.

不,不是。它可能有不同的默认值,但是可以在 REQUEST 中设置 REQUEST 的值。

One way is to create object in every method of DAL.

也称为:忽略文档中的所有内容以及团队发布的关于不这样做的内容。

Other way is creating in constructor of DAL

和以前一样。

制作一个被反复使用的(!)。不仅来自 DAL。生成一个 HttpClient 是昂贵的并且它们是可重用的——或者更好的是,查看所有文档并(重复)从 HttpClientFactory 中获取一个,这将抵消创建一个的开销(因为它实际上不是 HttpClient htat 是昂贵的,而是内部消息传递的创建堆栈)。

然后在消息中设置所有参数等。