当我的Windows Phone 8后台计划任务运行时,我收到以下异常。在初始化互斥锁时,我尝试将第一个参数作为假和真,但每次运行时都会抛出异常。我的经纪人所做的工作是成功的。我需要使用Mutex,因为代理将访问我的SQLite数据库,我需要阻止从前台应用程序本身对数据库的任何并发访问。我错过了什么吗?我使用一个名为Mutex的理解将在系统范围内起作用,我尝试做的事情应该起作用。
{System.Exception: Object synchronization method was called from an unsynchronized block of code.
at System.Threading.Mutex.ReleaseMutex()
at MyScheduledTaskAgent.ScheduledAgent.<OnInvoke>d__2.MoveNext()}
protected async override void OnInvoke(ScheduledTask task)
{
using (Mutex Mutex = new Mutex(true, "SQLiteMutex"))
{
try
{
await SchedAgent.ProcessUpdate();
if (Debugger.IsAttached)
{
ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(60));
}
}
catch (Exception)
{
}
finally
{
Mutex.ReleaseMutex();
}
}
NotifyComplete();
}