每次在静态HttpClient上清除DefaultRequestHeaders是否会导致Azure Function应用



我在Azure Function应用程序中使用静态HttpClient实例。然后,我将每个请求的Auth头添加到Http触发器中。

我目前对的每一个请求都这样做

httpClient.DefaultRequestHeaders.Clear();

然后我添加其他标题,这会引起问题吗?还是最好在添加它们之前清除它们,以防它们已经存在?

如果HttpClientDefaultRequestHeaders实例可能由Azure函数的多个调用共享,并且每个请求的标头值都会更改,则不应该使用该实例。在这种情况下,您应该使用HttpRequestMessage类的Headers属性。

使用HttpClientDefaultRequestHeaders是有问题的,因为多次调用可能会更改标头,因此您不能依赖httpclient发送正确的标头,因为函数的另一次调用可能会以自己的方式更改标头。

最新更新