【发布时间】:2014-02-17 09:06:52
【问题描述】:
鉴于以下System.Net.Http.HttpClient Portable Class Library 抛出异常:
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Authorization", "aaaa,bbbb");
例外情况是:格式无效
在 System.Net.Http.Headers.HttpHeaders.AddInternal (System.String 名称,IEnumerable
1 values, System.Net.Http.Headers.HeaderInfo headerInfo, Boolean ignoreInvalid) [0x0004c] in /Developer/MonoTouch/Source/mono/mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders.cs:195 at System.Net.Http.Headers.HttpHeaders.Add (System.String name, IEnumerable1 值)[0x00011] in /Developer/MonoTouch/Source/mono/mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders.cs:170 在 System.Net.Http.Headers.HttpHeaders.Add(System.String 名称, System.String 值)[0x00000] 中 /Developer/MonoTouch/Source/mono/mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders
现在这只发生在以下情况下
标题键 = Authorization。如果你把它改成别的,没关系。
Value = 必须有一个逗号。
现在,这个先前的 SO 问题表明逗号是在标头中粘贴多个值的正确方法。
谁能解释这是怎么回事?
注意:这是在 Xamarin 上,所以我猜它是单声道的。不确定这是否重要。
更新:
这是一张照片。
【问题讨论】:
-
那是堆栈跟踪,有什么异常?
-
已更新。哎呀。关于那个。
-
异常表明它是无效的格式。为什么要在该标题中设置逗号?
-
@CodeCaster 因为我想并且相信/相信它是有效的。
标签: c# .net http-headers dotnet-httpclient