0

私のwinrtアプリでは、ポーリングされたURIに基づいてライブタイルを更新しようとしています。現在、更新は行われておらず、トラブルシューティングの方法がわかりません。物事を壊す可能性のあるシナリオはたくさんありますが、潜在的なエラーについての洞察を得るためにとにかく見つけることができないようです。

TileUpdateManagerは、情報を吸収するが決してそれを放出しないブラックホールのようです。

TileUpdateManagerからエラーを表示する方法を知っている人はいますか?

それが誰かに興味があるなら、ここに私の更新コードがあります:

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);

PeriodicUpdateRecurrence recurrence = PeriodicUpdateRecurrence.HalfHour;
List<Uri> urisToPoll = new List<Uri>();
urisToPoll.Add(new Uri(@"http://livetileservice2012.azurewebsites.net/api/liveupdate/1"));
urisToPoll.Add(new Uri(@"http://livetileservice2012.azurewebsites.net/api/liveupdate/2"));
TileUpdateManager.CreateTileUpdaterForApplication().StartPeriodicUpdateBatch(urisToPoll, recurrence);
4

1 に答える 1

1

ネイサンのコメントを拡張するために、トラブルシューティングに実行できる 2 つの手順を次に示します。

  1. URI をブラウザーに直接入力して、返された結果を確認し、それらが適切な XML であるかどうかを調べます。Nathan が指摘しているように、URI はタイル更新マネージャーによって無視される JSON を返しています。実際の例 (私の HTML/JS ブックの第 13 章で使用) として、http://programmingwin8-js-ch13-hellotiles.azurewebsites.net/Default.cshtmlを試してください。

  2. URI が適切な XML を返していると思われる場合は、プッシュ通知と定期通知のサンプル(タイルとバッジのシナリオ 4 と 5) で試してみてください。これが機能する場合、エラーはサービスではなくアプリ コードにあります。

StartPeriodicUpdate[Batch] は、最初の間隔が経過するのを待つのではなく、すぐにサービスにリクエストを送信することに注意してください。

また、サービスに問題があると思われる場合は、アプリが Visual Studio Express for Win8 内でも実行されている場合 (ローカルホストが有効になっている場合)、ローカルホストで実行されている Visual Studio Express for Web を使用してコードをステップ実行することができます。 )。

クレイグ

于 2012-11-28T00:30:27.007 に答える