C# HttpWebRequest或WebRequest-继续下载ASP.NET

C# HttpWebRequest或WebRequest-继续下载ASP.NET,c#,asp.net,httpwebrequest,webrequest,C#,Asp.net,Httpwebrequest,Webrequest,我想知道是否有办法知道服务器是否支持恢复下载功能,如果支持,我如何发送恢复请求 我在寻找一个解决方案,我的ASP.NET页面可以从服务器下载到我的页面,就像今天的“”一样,但是我想检查我请求下载的服务器是否支持恢复功能。恢复文件是通过使用范围HTTP头指定要下载的文件的字节范围来完成的。这可以在.NET中使用函数完成 例如: request.AddRange(1000); 将通知服务器从文件的第1000个字节开始发送 如果服务器支持范围标头,它将发送HTTP状态为206(部分内容)的内容,而

我想知道是否有办法知道服务器是否支持恢复下载功能,如果支持,我如何发送恢复请求


我在寻找一个解决方案,我的ASP.NET页面可以从服务器下载到我的页面,就像今天的“”一样,但是我想检查我请求下载的服务器是否支持恢复功能。

恢复文件是通过使用
范围
HTTP头指定要下载的文件的字节范围来完成的。这可以在.NET中使用函数完成

例如:

request.AddRange(1000); 
将通知服务器从文件的第1000个字节开始发送

如果服务器支持范围标头,它将发送HTTP状态为206(部分内容)的内容,而不是正常的200(确定)。看


要在尝试下载之前检查服务器是否支持恢复,请更改
HttpWebRequest
方法
“HEAD”。如果服务器支持恢复,它将返回206(部分内容),如果不支持,则返回200(确定)。

您可以通过

找到有关特定范围请求的更多信息。因此,如果服务器不支持,它是否会发送正常的200?是。根据HTTP规范,如果服务器不支持范围,它将发送一个包含所有内容的普通200。您还可以检查服务器在初始下载尝试时在“Accept Ranges”标题中指定的内容,以查看它是否支持发送范围(应为“bytes”或“none”)。此标题不是必需的,因此,如果没有“接受范围”标题,它可能会接受范围。