0

当我在墓碑中的应用程序时,我需要等到WebClient UploadStringAsync在被墓碑之前返回响应。我试图通过阻塞 UI 线程几秒钟来实现它,但我注意到,当 UI 被阻塞时,没有响应。当我释放锁时(无论是Thread.sleep还是ManualResetEvent),在同一时刻都会有响应。当然,UploadStringAsync并且UploadStringCompleted在 UI 以外的线程上工作。也许您会知道这些行为的原因是什么?

4

1 回答 1

2

你不能也不应该这样做:

当应用程序被停用时,您不能无限期地阻止,因为操作系统不允许您,您可能必须无限期地更新,因为无法判断网络请求需要多长时间,甚至可能。

相反,您应该在应用程序正常使用期间的适当时间(或多次)向您的 Web 服务器提交数据。如果您想在停用期间保存特定状态,您应该保留它(根据需要),然后在重新激活或重新启动应用程序时发送它(再次根据数据的类型和相关性酌情发送)。

于 2012-05-28T10:42:59.147 回答