我需要从网络服务下载一个实时创建的 zip 文件。让我解释。我正在开发一个使用 SoapXml Web 服务的 Web 应用程序。Web 服务中有一个导出函数,它返回一个临时 url 来下载文件。根据下载请求,服务器会创建文件并在几秒钟后使其可供下载。我正在尝试使用
webClient.DownloadFile(url, @"c:/etc../")
此函数下载文件并将其保存到我的 0kb。太快了!服务器没有时间创建文件。我也试着把
webClient.OpenRead(url); System.Threading.Thread.Sleep(7000); webClient.DownloadFile(url, @"c:/etc../");
但不起作用。在调试模式下,如果我在 webClient.DownloadFile 上放置一个 BREAK POINT 并在 3、4 秒后重新启动,服务器就有时间创建文件并且我有完整的下载。
网络服务的开发人员建议我在 url 上使用“轮询”,直到文件准备好下载。它是如何工作的?
我该怎么做才能解决我的问题?(我也试过 DownloadFile 异步模式)