2

Windows ストア アプリがあり、定期的にタイルを更新するように設定しています。もともと使用するように設定してStartPeriodicUpdate(Uri, PeriodicUpdateRecurrence)いたのですが、更新されていないようで、最小繰り返しが HalfHour であるため、使用したいと思いStartPeriodicUpdate(Uri, DateTime, PeriodicUpdateRecurrence)、startTime を に設定して、DateTimeOffset.Now.AddMinutes(5)更新前に 5 分待機するように設定し、テストを容易にしました。コード:

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 分遅れる可能性があることが示されていますが、それはその誤差範囲をはるかに超えており、更新はありません。

4

1 に答える 1

1

このページで答えを見つけました(太字は私の強調です):

これらのメソッドのいずれかを呼び出すと、呼び出しで指定された URI がすぐにポーリングされ、受信したコンテンツでタイルまたはバッジが更新されます。この最初のポーリングの後、Windows は要求された間隔で更新プログラムを提供し続けます。ポーリングは、明示的に停止するまで続行されます...

5 分間の更新が機能しなかった理由は、すぐにポーリングされ、間隔 (30 分) よりも早く再度ポーリングされず、現在ではなく30 分に更新されるためだと思います。. この最後の部分は憶測ですが、上記の段落は、すぐに更新された理由を示しています。

2 番目の部分では、更新しているように見えます (ブレークポイントを使用して localhost で実行すると、最終的にブレークポイントがヒットし、タイルが更新されました)。

于 2013-03-30T15:44:01.170 に答える