具有后台任务Windows Phone 8的对象同步异常

时间:2014-04-30 14:42:39

标签: c# windows-phone-8 mutex background-process

当我的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();
    }

0 个答案:

没有答案