8 Comments
  •   Posted in: 
  • UWP

imageOne small tip if you’re creating a Windows 8 Metro app and want to update the live tile periodically using the TileUpdater-class: The request made by the OS for the live tile update doesn’t set the Content-Type so make sure that you backend is actually returning XML by default.

I encountered this when I built my app’s backend using ASP.NET Web Api and noticed that the live tile updates weren’t actually working. The backend was returning JSON instead of the XML because that’s the default format for the Web Api. In my case the backend only serves the live tile updates so I completely removed the JSON-formatter:

var config = new HttpSelfHostConfiguration("http://localhost:8080");

config.Routes.MapHttpRoute("Default", "api/{controller}/{id}", 
    new { id = RouteParameter.Optional });

config.Formatters.RemoveAt(0);

using (var server = new HttpSelfHostServer(config)) 
{ 
    server.OpenAsync().Wait();

    Console.WriteLine("Press Enter to quit."); 
    Console.ReadLine(); 
}

Now the backend is returning XML and the periodic live tile updates work properly.