これは、Googleクラウドメッセージングに対するコーディングのコンテキスト内で発生しましたが、他の場所でも当てはまります。
次のことを考慮してください。
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX");
そして
var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "key=XXX");
どちらもFormatExceptionを生成します。
System.FormatException:値key = XXX 'の形式が無効です。
解決策は、等号を削除することです。
リフレクターを掘り下げると、新しいヘッダー値を追加するときに実行される検証と解析のコードがたくさんあることがわかります。なぜこれがすべて必要なのですか?このクライアントは私たちの邪魔にならないだけではいけませんか?
この値の追加が成功するように、等号をどのようにエスケープしますか?