我正在开发一个windows phone应用程序,允许用户从服务器下载文件。用户可以同时选择多个文件进行下载。当用户停留在当前页面直到下载完成时,它可以完美地工作。如果用户在文件下载过程中导航到其他页面,则下载将停止。即使用户导航到其他页面,下载也应该继续。
此外,当应用程序退出时,下载也会停止。当用户再次启动应用程序时,挂起的文件应自动开始下载。
我该怎么做呢?
发布于 2012-01-25 15:30:38
如果文件很大,您应该使用BackgroundTransferRequest
,即使应用程序没有运行,它也会继续运行,并且您仍然可以跟踪它们的进度。
有关更多信息,请参阅Background File Transfers Overview for Windows Phone
发布于 2012-01-25 15:17:22
您需要了解的第一件事是页面导航。如果你正在从一个页面导航到另一个页面(并且不改变控件的可见性),那么一旦你导航,你的旧页面就会被卸载并且为空。如果您的页面中有一个全局变量,那么它也是空的。所以你必须把你下载的webclient或者其他任何东西放在一个全局的应用程序级别。在App.xaml.cs中完成所有下载,或者更好地在所有页面之间创建自己的共享类。
现在,当应用程序存在时,将调用已卸载的App.xaml.cs。因此,在卸载应用程序之前,您需要将已经下载的部分存储在IsolatedStorage中,当app.xaml.cs在已加载的事件处理程序中重新启动时,您需要检查用户是否正在独立存储中下载某些内容,然后完成下载。
https://stackoverflow.com/questions/8998903
复制相似问题