C# 从服务器获取响应代码的最快方法是什么?

C# 从服务器获取响应代码的最快方法是什么?,c#,http-response-codes,C#,Http Response Codes,我有一个WPF项目,需要尽快检查提供url的服务器上是否存在文件 我制作了一个使用WebRequest的小方法 public bool URLExists(string url) { bool result = true; WebRequest webRequest = WebRequest.Create(url); webRequest.Timeout = 1200; webRequest.Method = "HEAD"; try {

我有一个WPF项目,需要尽快检查提供url的服务器上是否存在文件

我制作了一个使用WebRequest的小方法

public bool URLExists(string url)
{
    bool result = true;
    WebRequest webRequest = WebRequest.Create(url);
    webRequest.Timeout = 1200;
    webRequest.Method = "HEAD";
    try
    {
        webRequest.GetResponse();
    }
    catch (Exception)
    {
        result = false;
    }
    return result;
}
虽然这是工作,我认为这可以做得更快

我已经读到你可以使用套接字,但我还没有找到足够的运气来真正理解和尝试,我甚至不知道这是否是一个更好的选择

我的问题是:根据文件的url,检查web服务器上是否存在文件的最快方法是什么

我之所以问这个问题是因为web服务器的文件夹结构如下所示:someserver.com/0/1/2.html,我有三个for循环设置如下:

for (int x = 2; x < 10; x++)
{
   for (int y = 0; y < 80; y++)
   {
       for (int z = 0; z < 100; z++)
       {
           var url = string.Format("http://www.somserver.com/{0}/{1}/{2}.html", x, y, z);
           if (URLExists(url))
           {
               DownloadFileAsync(new Uri(url), filePath);
           }
       }
   }
}
for(int x=2;x<10;x++)
{
对于(int y=0;y<80;y++)
{
对于(intz=0;z<100;z++)
{
var url=string.Format(“http://www.somserver.com/{0}/{1}/{2}.html”,x,y,z);
如果(url存在(url))
{
DownloadFileAsync(新Uri(url)、文件路径);
}
}
}
}

我知道我想等待,而不是一次下载数千次,但这是为了说明我的目的。

不需要请求检查文件是否存在,实际上您可以尝试下载它,如果它不存在,则捕获该错误。我认为并行检查多个URL是很有意义的,尽管限制并行请求的数量(对服务器来说)会很好。您可以在自己的任务中激发每个请求,并通过调用某些同步侦听器函数进行报告。接下来会发生什么取决于成功后要做什么:一个现有的URL是否足够,还是要下载所有现有的URL?我试图启动下载异步,但找不到检查文件是否存在的方法。它只是下载不需要什么。我想下载所有现有的文件。我会尝试用不同的方式设置。谢谢你的评论。