1

我正在为我的应用程序使用动态磁贴。用于更新磁贴的 XML 是动态生成的,有时更新会因为内容而失败(我无法控制动态磁贴中显示的内容,我从 Web 服务中获取)。

我曾经使用 API 通过实例来构建通知,TileWideSmallImageAndText02但现在我需要直接在代码中构建 XML。我的代码的简化版本:

string tileXml = "<tile><visual><binding template=\"TileWideSmallImageAndText02\">" +
                                 "<image id=\"1\" src=\"" + image + "\" alt=\"alt text\"/>"
                                 + "<text id=\"1\">" + title + "</text>"
                                + "<text id=\"2\">" + date + "</text>"
                                 + "<text id=\"3\">" + time + "</text>"
                                + "<text id=\"4\">" + length + "</text>"
                             + "</binding>"
                             + "</visual>"
                            + "</tile>";
Windows.Data.Xml.Dom.XmlDocument tileDOM = 
                                    new Windows.Data.Xml.Dom.XmlDocument();
tileDOM.LoadXml(tileXml);
TileNotification tile = new TileNotification(tileDOM);
TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);

现在正如我之前所说,通知可能会失败;失败我的意思是瓷砖没有被更新。看起来,如果我将任何我想要的 XML 内容发送到Update,不会引发异常,而且我永远不会知道活动磁贴是否有效。

如果我从我使用的 Web 服务收到格式错误的数据,那么拦截故障的好方法是什么?

4

1 回答 1

0

据我所知,没有办法检查更新是否失败。

您可以在某种程度上保护自己,方法是使用库(可能是PushSharp)或在将您从 Web 服务检索到的数据传递给通知服务之前对其进行清理。

于 2014-07-18T13:42:58.670 回答