从backgroundAgent和主应用程序访问IsolatedStorageSettings - 如何确保bgAgent在procceeding之前释放资源

时间:2011-08-09 13:00:33

标签: windows-phone-7 windows-phone-7.1

我正在使用后台代理(SchedulerTaskAgent)来更新我的应用程序的IsolatedStorageSettings中的一些键。一切都很好,直到这里。

当我的应用程序启动时,它会先删除bgagent。

有一种情况是我的主应用程序在bgagent运行时启动,所以当我的主应用程序删除bgagent然后尝试获取IsolatedStorageSettings的句柄。此后有3种情况: i)返回句柄,一切正常 ii)返回句柄但不存在键值,它就像没有任何东西(但有数据) iii)异常,因为它仍被另一个线程使用

我可以处理选项1和3,但不能处理第二个选项。谁知道为什么会这样? 当我打电话。删除代理时,我想它需要一些时间来取消并删除它。

在停止行李并完全释放资源后,如何确保我的应用程序开始工作?

感谢名单

2 个答案:

答案 0 :(得分:1)

你不能。

我听说它建议您不要因为这个原因从backgroundAgents写入IsolatedStorageSettings。

如果你真的必须从后台代理与你的应用程序进行通信,那么我建议写入应用程序只读取的IsolatedStorage中的单独文件。请务必在读取和写入时锁定文件。

答案 1 :(得分:0)

Thanx Matt这是一种方法,但我在这里找到了最好的方法http://forums.create.msdn.com/forums/p/86455/519826.aspx 这建议使用一个名为Mutex。