设置webClient.DownloadFile()的超时

设置webClient.DownloadFile()的超时

我正在使用webClient.DownloadFile()下载文件,我可以为此设置超时,这样如果它无法访问文件就不会花这么长时间吗?



叮当猫咪
浏览 1713回答 3
3回答

江户川乱折腾

试试WebClient.DownloadFileAsync()。您可以CancelAsync()通过计时器调用自己的超时。

HUX布斯

假设您想要同步执行此操作,使用WebClient.OpenRead(...)方法并在它返回的Stream上设置超时将为您提供所需的结果:using (var webClient = new WebClient())using (var stream = webClient.OpenRead(streamingUri)){      if (stream != null)      {           stream.ReadTimeout = Timeout.Infinite;           using (var reader = new StreamReader(stream, Encoding.UTF8, false))           {                string line;                while ((line = reader.ReadLine()) != null)                {                     if (line != String.Empty)                     {                         Console.WriteLine("Count {0}", count++);                     }                     Console.WriteLine(line);                }           }      }}从WebClient派生并重写GetWebRequest(...)以设置建议的超时@Beniamin,对我来说不起作用,但是这样做了。
打开App,查看更多内容
随时随地看视频慕课网APP