Windows phone 7 从backgroundAgent和主应用程序访问隔离存储设置-如何确保bgAgent在继续之前释放资源

Windows phone 7 从backgroundAgent和主应用程序访问隔离存储设置-如何确保bgAgent在继续之前释放资源,windows-phone-7,windows-phone-7.1,Windows Phone 7,Windows Phone 7.1,我正在使用一个后台代理(SchedulerTaskAgent),它更新我的应用程序的隔离存储设置中的一些密钥。这里一切都好 当我的应用程序启动时,它首先删除bgagent 有一种情况是,我的主应用程序在bgagent运行时启动,因此当我的主应用程序删除bgagent,然后尝试获取隔离存储设置的句柄时。在此之后有3种情况: i) 手柄返回,一切正常 ii)返回句柄,但其中不存在键值,就像什么都没有(但有数据) iii)异常,因为它仍由另一个线程使用 我可以处理选项1和3,但不能处理第二个选项。有人

我正在使用一个后台代理(SchedulerTaskAgent),它更新我的应用程序的隔离存储设置中的一些密钥。这里一切都好

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

有一种情况是,我的主应用程序在bgagent运行时启动,因此当我的主应用程序删除bgagent,然后尝试获取隔离存储设置的句柄时。在此之后有3种情况: i) 手柄返回,一切正常 ii)返回句柄,但其中不存在键值,就像什么都没有(但有数据) iii)异常,因为它仍由另一个线程使用

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

我如何确保我的应用程序在bgagent停止且资源完全释放后启动其工作

Thanx

你不能

我听说有人建议你不要因为这个原因就写信把存储设置与后台代理隔离开来

如果你真的必须通过后台代理与你的应用程序通信,那么我建议你将其写入到IsolatedStorage中一个单独的文件中,该应用程序只能从中读取。在正确读写时,请确保锁定文件。

您不能

我听说有人建议你不要因为这个原因就写信把存储设置与后台代理隔离开来


如果你真的必须通过后台代理与你的应用程序通信,那么我建议你将其写入到IsolatedStorage中一个单独的文件中,该应用程序只能从中读取。一定要在正确读写时锁定文件。

Thanx Matt这是一种方法,但我在这里找到了最好的方法
这建议使用命名的互斥锁。

Thanx Matt这是一种方法,但我在这里找到了最好的方法 这建议使用命名互斥