Beginning Windows® Phone 7 Application Development: Building Windows® Phone Applications Using Silverlight® and XNA®
by Nick Lecrenski, Karli Watson, Robert Fonseca-Ensor
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access