O'Reilly logo

Beginning Windows® Phone 7 Application Development: Building Windows® Phone Applications Using Silverlight® and XNA® by Robert Fonseca-Ensor, Karli Watson, Nick Lecrenski

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

WEB REQUESTS AND RESPONSES

Silverlight supplies several classes that you can use to make and receive requests over HTTP. Depending on the level of access you require, you can use either the WebClient class for simplicity or the WebRequest and WebResponse classes for flexibility. The latter classes are a little more difficult to use as they require slightly more complicated asynchronous code. However, they give you more control over how things work. Web access through all these classes must be performed asynchronously. This enables you to keep the client responsive, so it isn't a bad thing.

Using WebClient

To use the WebClient class, you create an instance, attach an event handler to one of several events it exposes, and then make a request using one of several methods. Each method has a corresponding event. For example, the DownloadStringAsync() method raises the DownloadStringCompleted event when it completes. This method performs an HTTP GET operation on a URI. To perform a POST operation, you use the UploadStringAsync() method. There are also methods that you can use to work with streams of data rather than string data.

For example, to perform an HTTP GET on some data at a particular URI, you might write the following:

WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(
webClient_DownloadStringCompleted);

webClient.DownloadStringAsync(
   new Uri(“http://www.mygreatshopofgreatness.com/products/14159”));

In the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required