我正在使用后台代理(SchedulerTaskAgent)来更新我的应用程序的IsolatedStorageSettings中的一些键。一切都很好,直到这里。
当我的应用程序启动时,它会先删除bgagent。
有一种情况是我的主应用程序在bgagent运行时启动,所以当我的主应用程序删除bgagent然后尝试获取IsolatedStorageSettings的句柄。此后有3种情况: i)返回句柄,一切正常 ii)返回句柄但不存在键值,它就像没有任何东西(但有数据) iii)异常,因为它仍被另一个线程使用
我可以处理选项1和3,但不能处理第二个选项。谁知道为什么会这样? 当我打电话。删除代理时,我想它需要一些时间来取消并删除它。
在停止行李并完全释放资源后,如何确保我的应用程序开始工作?
感谢名单
答案 0 :(得分:1)
你不能。
我听说它建议您不要因为这个原因从backgroundAgents写入IsolatedStorageSettings。
如果你真的必须从后台代理与你的应用程序进行通信,那么我建议写入应用程序只读取的IsolatedStorage中的单独文件。请务必在读取和写入时锁定文件。
答案 1 :(得分:0)
Thanx Matt这是一种方法,但我在这里找到了最好的方法http://forums.create.msdn.com/forums/p/86455/519826.aspx 这建议使用一个名为Mutex。