У меня есть статический httpclient, используемый для запросов, и я хочу добавить к нему один настраиваемый заголовок.Обновление пользовательского значения заголовка, добавленного как DefaultRequestHeaders HttpClient
httpClient.DefaultRequestHeaders.Add("customHeader", somevalue.ToString());
Но я заметил, что по каждому запросу значение добавляется к этому заголовку, который я намерен заменить по каждому запросу. Я пытаюсь удалить заголовок, если он уже существует и добавить снова, но он дает мне ошибки на load test.
if (httpClient.DefaultRequestHeaders.Contains("customHeader"))
{
httpClient.DefaultRequestHeaders.Remove("customHeader");
}
httpClient.DefaultRequestHeaders.Add("customHeader",somevalue.ToString());
Ошибки -
System.ArgumentException: An item with the same key has already been added.
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
System.ArgumentNullException: Value cannot be null.
Как я могу изменить значение заголовка пользовательского на каждый запрос?
не добавить его в 'DefaultRequestHeaders', но сам фактический запрос? – Icepickle
Использование объекта HttpClient.DefaultRequestHeaders в одно и то же время (одновременно) вызовет проблемы. вы должны управлять заголовками через HttpRequestMessage. – levent