我正在使用一个后台代理 (SchedulerTaskAgent) 来更新我的应用程序的 IsolatedStorageSettings 中的一些键。一切都很好。
当我的应用程序启动时,它首先会删除 bgagent。
有一种情况是我的主应用程序在 bgagent 运行时启动,所以当我的主应用程序删除 bgagent 然后尝试获取 IsolatedStorageSettings 的句柄时。在此之后有 3 种情况:i)句柄被返回,一切正常 ii)句柄被返回,但其中不存在键值,就像什么都没有(但有数据) iii)异常,因为它仍然被使用另一个线程
我可以处理选项 1 和 3,但不能处理选项 2。有谁知道为什么会这样?当我为我的代理调用 .Remove 时,我想它需要一些时间来取消它并删除它。
如何确保我的应用程序在 bgagent 停止并完全释放资源后启动其工作?
谢谢