我正在使用 BackgroundTransferService 从 Internet 下载文件。
伪代码是这样的:
BackgroundTransferRequest transferRequest = new BackgroundTransferRequest(transferUri);
transferRequest.Method = "GET";
transferRequest.Tag = "myTag";
transferRequest.TransferPreferences = TransferPreferences.AllowCellularAndBattery;
BackgroundTransferService.Add(transferRequest);
在此之后,我添加了一个事件处理程序来处理完成时的传输。我只使用 TransferStatusChanged 事件处理程序,而不是 TransferProgressChanged
transferRequests = BackgroundTransferService.Requests;
transferRequests.Last().TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(transfer_TransferStatusChanged);
在 transfer_TransferStatusChanged() 下,我对下载的文件做任何我想做的事情,或者处理失败的情况(404 等)。
问题是如果服务器没有 404 响应(例如,当没有这样的服务器时,例如 www.googlea.com/myfilename),我的下载会无限期地继续。我想为这种情况实施超时..我该怎么做?