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

要扩展 Nathan 的评论,您可以采取以下两个步骤进行故障排除:

  1. 将您的 URI 直接输入浏览器以查看返回的结果,并检查它们是否是正确的 XML。正如 Nathan 指出的那样,您的 URI 正在返回 JSON,磁贴更新管理器将忽略该 JSON。作为一个工作示例(我在我的 HTML/JS 书的第 13 章中使用),请尝试http://programmingwin8-js-ch13-hellotiles.azurewebsites.net/Default.cshtml

  2. 如果您认为您的 URI 正在返回正确的 XML,请在推送和定期通知示例中尝试(方案 4 和 5 用于磁贴和徽章)。如果这可行,那么错误将在您的应用程序代码中,而不是在服务中。

请注意,StartPeriodicUpdate[Batch] 将立即向服务发送请求,而不是等待第一个时间间隔过去。

此外,如果您认为该服务可能存在问题,则可以使用在 localhost 上运行的 Visual Studio Express for Web 单步执行其代码,而该应用程序也在 Visual Studio Express for Win8 中运行(启用了 localhost )。

.克雷格

于 2012-11-28T00:30:27.007 回答