0

我想向我的 Windows 商店应用程序添加定期磁贴更新,如果我向 tileUpdateManager 提供一个 xml,例如这个地址http://wowzappelsalvador.azurewebsites.net/tiletest.xml ,一切正常。该应用程序适用于 azure 移动服务,其想法是使用相同的服务更新 App 磁贴,因此我在 azure 上创建了一个读取脚本,如下所示:

function read(query, user, request) {

mssql.query("select imagenTile, nombreTip from verdetips.tipDiaLiveTileView", {
    success: function(results) {

        var xmlEscape = function (text) {
        return text.replace(/&/g, '&')
           .replace(/</g, '&lt;')
           .replace(/>/g, '&gt;')
           .replace(/"/g, '&quot;');
        }

         var payload = "<?xml version='1.0' encoding='UTF-8'?>" +
         "<tile><visual><binding template='TileWideImageAndText01'>" +
          "<image id='1' src='" + xmlEscape(results[0].imagenTile) + "' alt='Verde Tips'/>" +
          "<text id='1'>" + xmlEscape(results[0].nombreTip) + "</text>" +
          "</binding>" +
          "<binding template='TileSquareText04'>" +
          "<text id='1'>" + xmlEscape(results[0].nombreTip) + "</text>" +
          "</binding></visual></tile>";

         console.log(payload);
         request.respond(statusCodes.OK, payload);
    }
 });
}

当我调用与此脚本关联的表时,我得到的文本与 .xml 文件上的文本相同,但在 .json 文件上,并且磁贴更新不起作用,我错过了什么?

注意:我看过一些网站解释如何在 azure 移动服务上使用 push.wns.send 来发送推送或 toast 通知,但我的案例是轮询通知,客户端代码如下:

var notifications = Windows.UI.Notifications;
    var polledUri = new Windows.Foundation.Uri("http://verdetips.azure-mobile.net/tables/tipDiaLiveTile");
    //var polledUri = new Windows.Foundation.Uri("http://wowzappelsalvador.azurewebsites.net/tiletest.xml");
    var recurrence = notifications.PeriodicUpdateRecurrence.daily;
    var tileUpdater = notifications.TileUpdateManager.createTileUpdaterForApplication();
    tileUpdater.startPeriodicUpdate(polledUri, recurrence);

任何帮助将非常感激!

4

1 回答 1

1

目前,Azure 移动服务无法返回 JSON 以外的任何内容。这是一个经常性的请求,因此此功能已在路线图中,应在不久的将来实施。

于 2013-01-14T00:46:55.713 回答