2013-03-29 2 views
2

У меня есть приложение для магазина Windows, и я настраиваю его для периодического обновления плитки. Первоначально я установил его для использования StartPeriodicUpdate(Uri, PeriodicUpdateRecurrence), но он, похоже, не обновлялся, и поскольку минимальное повторение - HalfHour, я хотел использовать StartPeriodicUpdate(Uri, DateTime, PeriodicUpdateRecurrence) и установить startTime на DateTimeOffset.Now.AddMinutes(5), чтобы он подождал 5 минут до обновления, чтобы сделать тестирование легче. Код:Почему TileUpdater.StartPeriodicUpdate работает не так, как ожидалось?

public void UpdateLiveTile() 
{ 
     LiveTileUpdater.Clear(); 
     var uri = TILE_UPDATE_URI; // example 
     var start = DateTimeOffset.Now.AddMinutes(5); 
     LiveTileUpdater.StartPeriodicUpdate(uri, start, PeriodicUpdateRecurrence.HalfHour); 
} 

Однако, когда я запускаю это, обновление плитки сразу, вместо обновления 5 минут с момента, когда он называется. Я бы подумал, что вызов переопределения без параметра startDate будет выполняться немедленно (он делает), а затем другой будет работать через 5 минут. Кто-нибудь знает, почему он сразу обновляется, или как я могу убедиться, что он задерживается?

Редактировать: Кроме того, если кто-нибудь знает, почему периодическое обновление также не происходит, это будет большой помощью. Сервер определенно отвечает правильно, потому что первое обновление работает отлично, но оно никогда не меняется. Документация указывает, что время начала и периодический интервал могут быть отсрочены на 15 минут, но это далеко за пределами допустимой погрешности, и я не получаю никаких обновлений.

ответ

1

Я нашел ответ на this page (жирный шрифт мой акцент):

При вызове одного из этих методов, URI, указанный в вызове немедленно опрошены и плитка или значок обновляется полученное содержимое. После этого первоначального опроса Windows продолжает предоставлять обновления с запрошенным интервалом. Опрос продолжается до тех пор, пока вы явно не остановите его ...

Я думаю, причина в том, что обновление 5 минут не работает, тогда он немедленно опросит, а затем не будет опроса снова раньше, чем интервал (30 минут), но чтобы он обновил 30 минут от , а затем вместо этого. Эта последняя часть - это спекуляция, но в приведенном выше параграфе указывается, почему она немедленно обновляется.

Для второй части, похоже, что она обновлялась (когда я бегал по локальному хосту с точкой останова, точка останова была в конце концов удалена, и она обновила плитку), я думаю, я просто не дождался достаточно долго.

Смежные вопросы