Це сталося в контексті кодування проти Google Cloud Messaging, але застосовується деінде.
Розглянемо наступне:
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX");
і
var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "key=XXX");
обидва з яких генерують FormatException:
System.FormatException: недійсний формат значення значення = XXX '.
Рішення полягає у видаленні знака рівності.
Поглиблення у рефлектор показує, що існує безліч кодів перевірки та синтаксичного аналізу, який запускається при додаванні нового значення заголовка. Навіщо все це потрібно? Чи не повинен цей клієнт просто ухилятися від нашого шляху?
Як уникнути знака рівності, щоб додавання цього значення вдалося?