Мне очень нужна ваша помощь, потому что у меня неприятная проблема. Я загружаю данные в свой периодический агент (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();
}
Я также попробовал следующий фрагмент кода, но это остановило мою фоновую задачу, и мне пришлось снова запустить приложение, чтобы снова включить его. Почему?
ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("TileID=2"));
if (TileToFind != null && intCount > 0)
{
//Update the live tile
}
Таким образом, когда данные не анализируются, плитка должна оставаться такой, какая она есть, и через час или два после загрузки данных все должно вернуться в нормальное состояние с обновлением стиля.
Пожалуйста, помогите, так как сейчас это шоу-стоппер. Заранее спасибо.