使用计划代理进行动态磁贴更新
本文关键字:动态 更新 计划 代理 | 更新日期: 2023-09-27 18:33:13
>我正在尝试将动态磁贴与周期性任务后台代理一起使用。我的情况是我必须从媒体库中获取图像,然后将一些图像保存到独立存储中,最多九个图像数量,因为循环磁贴最多支持九个图像。我在我的解决方案中添加了定期代理项目,并引用到我的主项目中。在我的主项目中,我正在注册我的定期任务并启动该任务。但其余的调用和实现是在计划代理中完成的。我必须从我的主项目中获取一些图像来创建磁贴。当我尝试将主项目引用添加到我的计划代理项目时,它说"您有循环依赖项"您无法添加引用。任何人都可以帮助我如何在我的日程安排任务项目中获取我的主项目的业务逻辑。
=== 编辑 ===
假设我有一个名为HelloWorld的主要项目,它执行一些操作并将一些图像保存在独立存储中,并将未读消息的数量保存在Isloated存储中。现在我在我的主项目"HelloWorld"中有两个调度代理项目及其引用,我正在注册我的调度代理并在我的主项目"HelloWorld"中启动它们。但调用的其余部分在调度代理中。
protected override void OnInvoke(ScheduledTask task)
{
StandardTileData data = new StandardTileData
{
Title = "My tile!",
Count = 10, // I Need To Get This Counter From Isolated Storage Or My Other main Project
BackgroundImage = new Uri("/Background.png", UriKind.RelativeOrAbsolute),
BackTitle = "This is the back",
BackContent = "Hallo!",
BackBackgroundImage = new Uri("/Background.png", UriKind.RelativeOrAbsolute)
};
ShellTile.ActiveTiles.First().Update(data);
// If debugging is enabled, launch the agent again in one minute.
#if DEBUG_AGENT
ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(60));
#endif
// Call NotifyComplete to let the system know the agent is done working.
NotifyComplete();
}
假设根据 Igor 的建议,我创建了一些第三类库项目,然后我将在那里编写一个方法,该方法将从我的主项目中获取信息,我将在这个第三类库项目中引用我的主项目。然后,如果我在调度项目中调用这个类库,它再次说我你有循环依赖关系。请告诉我如何完成
将业务逻辑提取到第三个库类项目,并从主项目和计划任务项目中引用它