C# 最小化并恢复应用程序时如何处理网络呼叫错误-windows phone 8

C# 最小化并恢复应用程序时如何处理网络呼叫错误-windows phone 8,c#,windows-phone-8,C#,Windows Phone 8,我正在从我的应用程序提交一个表单,它有一些文本和一些图像。因此,在提交表单时,将进行一系列网络调用以上载图像(我使用的是httpclient库) 现在,当用户最小化应用程序并且网络呼叫仍在进行时,如何处理它 我尝试使用典型的try-catch机制来处理,但是我无法获取流对象,因为流对象在应用程序最小化时被释放。而且,当我尝试使用文件路径读取图像时,会出现未经授权的异常 和幕后工作人员试过了,但还是没有成功 我想要实现的最终目标是,当网络从最小化状态恢复时,我想要继续网络呼叫 任何帮助或建议都会更

我正在从我的应用程序提交一个表单,它有一些文本和一些图像。因此,在提交表单时,将进行一系列网络调用以上载图像(我使用的是httpclient库)

现在,当用户最小化应用程序并且网络呼叫仍在进行时,如何处理它

我尝试使用典型的try-catch机制来处理,但是我无法获取流对象,因为流对象在应用程序最小化时被释放。而且,当我尝试使用文件路径读取图像时,会出现未经授权的异常

和幕后工作人员试过了,但还是没有成功

我想要实现的最终目标是,当网络从最小化状态恢复时,我想要继续网络呼叫

任何帮助或建议都会更有帮助。谢谢。

当用户最小化你的应用程序时,会引发该事件。您需要处理此事件,正常地关闭任何网络调用,并将任何状态数据持久化到隔离存储。手机操作系统允许您的应用程序运行10秒,因此这必须有足够的时间来允许挂起的网络呼叫完成,或者丢弃它们

请注意,在您的应用程序被停用(最小化)后,它可能会在下次启动时被保留,也可能不会被保留。您必须处理
激活的
事件,并检查——如果它被保留,那么您的页面和视图模型应该是完整的,否则您将需要从隔离的存储中恢复它们的状态

有关停用/激活生命周期的更多信息,请参阅

另外,我不确定你是否知道,哪一个可以运行,即使你的应用程序没有。这可能是一个值得考虑的问题,尽管它可能比试图将后台代理与应用程序本身同步更麻烦。