C# 阻止后台任务更新LiveTile

C# 阻止后台任务更新LiveTile,c#,windows-phone-7,live-tile,C#,Windows Phone 7,Live Tile,我真的需要你的帮助,因为我有一个令人沮丧的问题。我正在我的定期代理(OnInvoke)中下载数据。工作正常,但每天晚上我下载数据的网站都没有数据可下载。如果发生这种情况,我希望活动磁贴与当前数据保持原样(而不是变空),并且不更新。然后一两个小时后,当有数据要下载和解析时,更新应该继续 我已经试过了,但是当NotifyComplete被调用时,代码仍然被执行。NotifyComplete不应该停止要执行的其余代码吗 MatchCollection matchesMyData = rxMyData.

我真的需要你的帮助,因为我有一个令人沮丧的问题。我正在我的定期代理(OnInvoke)中下载数据。工作正常,但每天晚上我下载数据的网站都没有数据可下载。如果发生这种情况,我希望活动磁贴与当前数据保持原样(而不是变空),并且不更新。然后一两个小时后,当有数据要下载和解析时,更新应该继续

我已经试过了,但是当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();
}
因此,当没有数据被解析时,磁贴应该保持原样,一到两个小时后,当数据被下载时,随着文件的更新,一切都应该恢复正常

请帮帮我,因为这是一场表演的停止。提前感谢。

调用NotifyComplete()不会在执行方法调用后停止代码,它只是让操作系统知道您已经完成了。操作系统应该中止线程,但可能还有时间再运行几行代码(文档中不清楚调用NotifyComplete的线程是否会立即中止)


如果在调用NotifyComplete后添加return语句,则不应更新互动程序。

谢谢calum,它现在可以正常工作了!在我的OnInvoke中,我有一个HTTPWebRequest,如果该请求超时,我将调用NotifyComplete。既然我不想让代码继续运行,我是否也应该在那里添加return呢?如果没有看到代码,很难说。只要确保如果它超时,那么在调用NotifyComplete之后就不会再出现代码。将NotifyComplete视为Environment.Exit-调用此函数后,当前方法将在应用程序终止之前完成。
ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("TileID=2"));
if (TileToFind != null && intCount > 0)
{
    //Update the live tile
}