每次在静态 HttpClient 上清除 DefaultRequestHeaders 都会导致 Azure Function 应用程序出现问题吗?

Can clearing DefaultRequestHeaders everytime on a static HttpClient cause issues in an Azure Function app?

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

我目前正在根据每个请求执行此操作

httpClient.DefaultRequestHeaders.Clear();

然后我添加另一个 headers,这会导致问题吗?或者最好在添加它们之前清除它们以防它们已经存在?

如果 HttpClientDefaultRequestHeaders 实例可能由 Azure 函数的多次调用共享并且 headers 的值随请求而变化,则不应使用该实例。在这种情况下你应该使用 Headers 属性 的 HttpRequestMessage class.

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