Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows phone 8.1(Silverlight)中的后台代理_C#_Silverlight_Scheduled Tasks_Windows Phone 8.1 - Fatal编程技术网

C# Windows phone 8.1(Silverlight)中的后台代理

C# Windows phone 8.1(Silverlight)中的后台代理,c#,silverlight,scheduled-tasks,windows-phone-8.1,C#,Silverlight,Scheduled Tasks,Windows Phone 8.1,我下面介绍如何在WP 8.1 Silverlight中实现日程安排 步骤:- 已编辑的WMAppManifest.xaml: <Tasks> <DefaultTask Name="_default" NavigationPage="/View/StartPage.xaml" /> <ExtendedTask Name="BackgroundTask"> <BackgroundServiceAgent Specifier="Schedule

我下面介绍如何在WP 8.1 Silverlight中实现日程安排

步骤:-

已编辑的
WMAppManifest.xaml

<Tasks>
  <DefaultTask Name="_default" NavigationPage="/View/StartPage.xaml" />
  <ExtendedTask Name="BackgroundTask">
    <BackgroundServiceAgent Specifier="ScheduledTaskAgent" Name="ScheduledTaskAgent2" Source="ScheduledTaskAgent2" Type="ScheduledTaskAgent2.ScheduledAgent" />
  </ExtendedTask>
</Tasks>
启动代理的我的代码

public const string PeriodicTaskName = "ScheduledTaskAgent2";
private PeriodicTask _periodicTask;

    private void StartPeriodicAgent()
    {
        _isPeriodicTaskStarted = true;

        _periodicTask = ScheduledActionService.Find(PeriodicTaskName) as PeriodicTask;

        if (_periodicTask != null)
        {
            RemoveAgent(PeriodicTaskName);
        }

        _periodicTask = new PeriodicTask(PeriodicTaskName) {Description = "periodic task."};

        try
        {
            ScheduledActionService.Add(_periodicTask);

#if(DEBUG_AGENT)
            ScheduledActionService.LaunchForTest(PeriodicTaskName, TimeSpan.FromSeconds(60));
#endif
         }
         catch (Exception exception){ }
    }         

    private static void RemoveAgent(string name)
    {
       try
       {
           ScheduledActionService.Remove(name);
       }
       catch (Exception){}
    }
这就是我为后台代理所做的一切。这不是调用
OnInvoke()
方法(至少在调试模式下)

注意:我还添加了对ScheduledTaskAgent2项目的引用

是否有人在WP 8.1(Silverlight)中实现了ScheduleAgent


支持吗?

我得到了解决方案这是一个完全有效的解决方案,只需复制粘贴即可。但无法直接从文档中获取。只需将此扩展名添加到
包.appxmanifest
文件中。您可以通过
右键单击=>viewcode
选项打开它

 <Extension Category="windows.backgroundTasks" EntryPoint="AgHost.BackgroundTask">
      <BackgroundTasks>
        <Task Type="systemEvent"  />
        <Task Type="timer"/>
      </BackgroundTasks>
    </Extension>

你救了我们的命!我们在这里遇到了同样的问题,我们发现入口点是错误的。有了这个入口点,我们现在就可以调试了。非常感谢。
 <Extension Category="windows.backgroundTasks" EntryPoint="AgHost.BackgroundTask">
      <BackgroundTasks>
        <Task Type="systemEvent"  />
        <Task Type="timer"/>
      </BackgroundTasks>
    </Extension>