I have a Metro app in C# & XAML.
The tile is updated periodically and I've used WebAPI to serve
the tile notification XML. So far so good. I was then told that I cannot use WebAPI as
the server that I was planning to host it on does not have .NET 4.5. No plans to install it anytime soon either. I had to change
the WebAPI to a plain old Web service (.NET 3.5) which does
the same thing - return tile notification XML. I've enabled HTTP-GET (I know, security concern) and was able to invoke
the webservice like this -
http://server/TileNotifications.asmx/
[email protected]
But ever since I made
the switch,
the tiles are not being updated. I've checked Fiddler and made sure
the app is hitting
the webservice and
the XML is being returned correctly. But
the tiles are not updated. If I replace it with
the WebAPI,
the tiles are updated.
Do I need to do anything special with
the web services? like decorating
the web method with a custom attribute? Here's my web service code -
[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;
}