C# 无法在windows 8应用商店应用程序中设置HttpWebRequest的范围标头

C# 无法在windows 8应用商店应用程序中设置HttpWebRequest的范围标头,c#,windows-8,C#,Windows 8,我无法在windows 8应用商店应用程序中设置HttpWebRequest的范围标头,如果我尝试以以下示例代码中的不同方式设置范围,我会遇到以下异常, 必须使用适当的属性或方法修改“Range”标头。参数名称:name 在以下条件下设置范围标题的备选方案是什么。 1.通过设置AllocreadStreamBuffering=false进行即时响应回调;因此,我不断地将其写入文件并获得下载进度 代码是: WebHeaderCollection headers = new WebHeaderCol

我无法在windows 8应用商店应用程序中设置HttpWebRequest的范围标头,如果我尝试以以下示例代码中的不同方式设置范围,我会遇到以下异常, 必须使用适当的属性或方法修改“Range”标头。参数名称:name

在以下条件下设置范围标题的备选方案是什么。 1.通过设置AllocreadStreamBuffering=false进行即时响应回调;因此,我不断地将其写入文件并获得下载进度

代码是:

WebHeaderCollection headers = new WebHeaderCollection();
headers[HttpRequestHeader.Range] = "bytes=" + CurrentBufferPointer + "-"; 

HttpWebRequest DownLoadClient = (HttpWebRequest)WebRequest.Create(this.FileUri);
DownLoadClient.Method = "GET";
DownLoadClient.AllowReadStreamBuffering = false;
//设置以下两种方式之一会引发异常

DownLoadClient.Headers = headers;   
Or 
DownLoadClient.Headers[HttpRequestHeader.Range] = "bytes=" + CurrentBufferPointer +  "-";

DownLoadClient.BeginGetResponse(new AsyncCallback(GetResponseCallback), DownLoadClient);
当我设置DownLoadClient.Headers=Headers时;此异常将出现:

尝试此操作

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, this.FileUri);
request.Headers.Range = new RangeHeaderValue(0, 1024); //if range is of "bytes=0-1024";
var response = await client.SendAsync(request);

但是有了HTTPclient,就不能进行块下载,以后再从停止的地方继续。。。