10 Things Silverlight Devs Need to Know About the Windows Runtime: Listing 2.

Using async in a WinRT app.

public async void SearchBtn_Click(object sender, RoutedEventArgs e)
  {
    // Retrieve Topic to Search for from WaterMarkTextBox
    string topic = txtSearchTopic.Text;
    // Construct Digg REST URL
    string diggUrl = String.Format(
      "http://services.digg.com/search/stories?query={0}&appkey=http://www.scottgu.com", 
      topic);

    // Initiate Async Network call to Digg
    var client = new HttpClient();
    var response = new HttpResponseMessage();

    //Get response
    response = await client.GetAsync(new Uri(diggUrl));
    Task <string > responseString = response.Content.ReadAsStringAsync();
    string result = await responseString;

    // Call a Method that parses the XML data  
    DisplayStories(result);
  }

About the Author

Michael Crump is a product manager that works at Microsoft on the Azure platform. He is a is a developer, blogger and speaker of topics relating to cloud development. He’s passionate about helping developers understand the benefits of the cloud in a no-nonsense way. You can reach him on Twitter at mbcrump or by following his blog at michaelcrump.net.