Stało się to w kontekście kodowania w Google Cloud Messaging, ale ma zastosowanie w innych miejscach.
Rozważ następujące:
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX");
i
var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "key=XXX");
z których oba generują FormatException:
System.FormatException: format klucza wartości = XXX 'jest nieprawidłowy.
Rozwiązaniem jest usunięcie znaku równości.
Przeglądanie reflektora pokazuje, że jest mnóstwo kodu sprawdzającego i analizującego, który działa podczas dodawania nowej wartości nagłówka. Dlaczego to wszystko jest konieczne? Czy ten klient nie powinien po prostu schodzić nam z drogi?
Jak uniknąć znaku równości, aby dodać tę wartość?