Making a HTTP request and listening its completion in Windows Phone
(Mandardac -) |
hamishwillee
(Talk | contribs) m (Hamishwillee - Addition to article of: Category:Windows Phone 7.5) |
||
| Line 94: | Line 94: | ||
} | } | ||
} | } | ||
| − | </code> | + | </code>[[Category:Windows Phone 7.5]] |
Revision as of 08:40, 30 November 2012
This article include how to make HTTP request using WebClient and listening requst completion using EventHandler.
Article Metadata
Tested with
SDK: WP 7.1 SDK
Compatibility
Platform(s): Windows Phone 7.5
Article
Created: mandardac
(04 Apr 2012)
Last edited: hamishwillee
(30 Nov 2012)
Introduction
HTTPManeger.cs
public class HTTPManager
{
private WebClient webdownloader;
private Uri uri;
public event EventHandler WebRequestCompleted;
public HTTPManager(string url)
{
webdownloader = new WebClient();
uri = new Uri(url);
}
public void MakeRequest()
{
webdownloader.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DataDownloaded);
webdownloader.DownloadStringAsync(uri);
}
public void DataDownloaded(object sender, DownloadStringCompletedEventArgs args)
{
EventHandler handler = WebRequestCompleted;
if (handler != null)
{
handler(sender, args);
}
}
}
//now write another class which actully uses above class to make http request and wants to listen request completion
public partial class MainPage : PhoneApplicationPage
{
private string loginurl;
// Constructor
public MainPage()
{
InitializeComponent();
MakeRequest();
}
private void MakeRequest() //you can call this method from any event eg.button click, for simplicity i called it from ctor.
{
string loginurl = "http://www.developer.nokia.com/Community/Wiki/Most_Viewed_Windows_Phone_Articles";
try
{
if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
{
MessageBox.Show("N/W connection not available");
}
else
{
HTTPManager httpmanager = new HTTPManager(loginurl);
httpmanager.WebRequestCompleted += this.DownlLodCompleted;
httpmanager.MakeRequest();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public void DownlLodCompleted(object sender, EventArgs args)
{
MessageBox.Show("Your request is completed.....");
}
}

