Mam statyczny httpclient wspólny dla żądań i chcę dodać do niego jeden niestandardowy nagłówek.Aktualizowanie niestandardowej wartości nagłówka dodanej jako DefaultRequestHeaders z HttpClient
httpClient.DefaultRequestHeaders.Add("customHeader", somevalue.ToString());
Ale zauważyłem, że na każde żądanie wartość jest dodawana do tego nagłówka, który zamierzam zamienić na każde żądanie. Próbuję usunąć nagłówek, jeśli już istnieje i dodać ponownie, ale daje mi błąd na obciążenia testu.
if (httpClient.DefaultRequestHeaders.Contains("customHeader"))
{
httpClient.DefaultRequestHeaders.Remove("customHeader");
}
httpClient.DefaultRequestHeaders.Add("customHeader",somevalue.ToString());
Błędy -
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.
Jak mogę zaktualizować wartość niestandardowy nagłówek na każde żądanie?
nie dodać go do 'DefaultRequestHeaders', ale do rzeczywistej samą prośbę? – Icepickle
Korzystanie z obiektu HttpClient.DefaultRequestHeaders w tym samym czasie (współbieżnie) spowoduje problemy. powinieneś zarządzać nagłówkami poprzez HttpRequestMessage. – levent