我真的需要你的帮助,因为我有一个令人沮丧的问题。我正在下载我的定期代理(OnInvoke)中的数据。工作正常,但每天晚上从我下载数据的网站都没有数据可供下载。如果发生这种情况,我希望活动图块保持原样(而不是空白)与当前数据,而不会更新。然后在一两个小时后有数据下载并解析更新应该继续。防止后台任务更新LiveTile
我已经试过这个,但是当NotifyComplete被调用后仍然执行代码。 NotifyComplete是否应该停止执行其余的代码?
MatchCollection matchesMyData = rxMyData.Matches(strHTML);
foreach (Match matchMyData in matchesMyData)
{
GroupCollection groupsMyData = matchMyData.Groups;
//Code for handling downloaded data
}
if (matchesMyData.Count < 1)
{
ShellToast toast = new ShellToast();
toast.Title = "No update: ";
toast.Content = "Webservice returned no data";
toast.Show();
NotifyComplete();
}
我也试过下面的代码peice的,但已停止我的后台任务,我不得不重新开始我的应用程序,以重新启用它。为什么?
ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("TileID=2"));
if (TileToFind != null && intCount > 0)
{
//Update the live tile
}
所以,当没有数据被解析瓷砖应该保持,因为它是和一两个小时后,当数据被下载的一切都应该恢复正常时thetile beeing更新。
请帮忙,因为现在这是一个表演停止。提前致谢。
谢谢你calum,它现在工作得很好!在我的OnInvoke中,我有一个HTTPWebRequest,如果这一次超时,我打电话给NotifyComplete。我是否应该添加回报,因为我不希望代码继续运行? – John
很难说没有看到代码。只要确定它是否超时,在调用NotifyComplete之后不会再有代码被击中。对待NotifyComplete就像Environment.Exit - 在调用它之后,当前方法在应用程序终止之前完成。 – calum