我正在使用异步 ctp 并且有一个在后台运行的任务。它工作得很好,但在运行并且应用程序被墓碑化时会引发异常。该异常与数据库上下文为空有关。
文档说:
当应用程序被墓碑化时,底层数据库连接将关闭。要在墓碑化后返回到之前的状态,应用程序需要重做它在墓碑化之前执行的所有查询。
我试过使用cancellationtokesource,但这似乎不起作用,因为连接已经关闭。知道如何处理这样的事情吗?
我正在使用异步 ctp 并且有一个在后台运行的任务。它工作得很好,但在运行并且应用程序被墓碑化时会引发异常。该异常与数据库上下文为空有关。
文档说:
当应用程序被墓碑化时,底层数据库连接将关闭。要在墓碑化后返回到之前的状态,应用程序需要重做它在墓碑化之前执行的所有查询。
我试过使用cancellationtokesource,但这似乎不起作用,因为连接已经关闭。知道如何处理这样的事情吗?
我们也遇到了一些问题,但移动应用程序的一般架构往往是面向服务的,因此大多数人不必担心数据库连接。处理墓碑一般很容易出错——这个区域是我项目中最多产的错误生成器之一。
从墓碑唤醒后返回开始屏幕而不是最后一个屏幕作为用户体验是可以的(不是很好)。否则,您可以缓存已有的数据 -使用 IsolatedStorage并尝试重做屏幕。