我在C#中有一个Metro应用程序。 XAML。磁贴定期更新,我使用WebAPI来提供磁贴通知XML。到现在为止还挺好。然后我被告知我不能使用WebAPI作为我计划托管它的服务器没有.NET 4.5。没有计划很快安装它。我不得不将WebAPI更改为一个普通的旧Web服务(.NET 3.5),它执行相同的操作 - 返回tile通知XML。我启用了HTTP-GET(我知道,安全问题)并能够像这样调用web服务 -
http://server/TileNotifications.asmx/GetTileData?user=user@domain.com
但是自从我进行切换以来,瓷砖没有更新。我检查了Fiddler并确保应用程序正在访问Web服务并正确地返回XML。但是瓷砖没有更新。如果我用WebAPI替换它,则会更新切片。
我是否需要对Web服务执行任何特殊操作?比如使用自定义属性装饰Web方法?这是我的网络服务代码 -
[WebMethod]
public XmlDocument GetTileData(string user)
{
// snip
var xml = new XmlDocument();
xml.LoadXml(string.Format(@"<tile>
<visual>
<binding template='TileWideSmallImageAndText02'>
<image id='1' src='http://server/images/{0}_wide.png'/>
<text id='1'>Custom Field : {1}/text>
<text id='2'>Custom Field : {2}</text>
<text id='3'>Custom Field : {3}</text>
</binding>
<binding template='TileSquarePeekImageAndText01'>
<image id='1' src='http://server/images/{0}_square.png'/>
<text id='1'>Custom Field</text>
<text id='2'>{1}</text>
</binding>
</visual>
</tile>", value1, value2, value3, value4));
return xml;
}