我有一个控制台应用程序,其中包含一个 (new WebClient()).DownloadFile(source,target)
(为简洁起见缩短)。
我在 Windows 2003 服务器上运行,通过 rdp。
当服务器被锁定时(它会在几分钟未被使用后锁定)程序就会停止运行,它就会崩溃或发生其他任何事情,它不会再继续进行了。
Console.WriteLine("Downloading to {0} ...", localTempFile);
sw.Start();
Client.DownloadFile(url + "/" + fileName, localTempFile);
sw.Stop();
Console.WriteLine("{0} | Done in {1}s",DateTime.Now,sw.ElapsedMilliseconds / 1000);
我真的不知道从哪里开始解决这个问题,没有什么复杂的事情发生,它只是一个简单的线性控制台应用程序。有什么想法吗?
最佳答案
首先,您需要确定这种情况是否不仅发生在 WebClient.DownloadFile
上,而且发生在其他程序上,通过编写一个可能打印出时间的快速程序来做到这一点。
接下来的事情是您的代码以任何方式引用事件窗口,这会导致它停止吗?当计算机被锁定时,没有事件窗口。
另一种情况可能是您的服务在计算机锁定时禁用,导致 WebClient 停止处理,可能是网络策略或其他原因。
希望对您有所帮助。
关于c# - 计算机锁定时 WebClient.DownloadFile 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4875170/