×
Namespaces

Variants
Actions
Revision as of 11:31, 4 April 2012 by mandardac (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Making a HTTP request and listening its completion in Windows Phone

From Nokia Developer Wiki
Jump to: navigation, search
'This article include how to make http request using WebClient and listening requst completion using EventHandler.

WP Metro Icon Wifi.png
WP Metro Icon WP8.png
SignpostIcon WP7 70px.png
Article Metadata
CompatibilityArticle
Created: (10 Apr 2012)
Last edited: mandardac (04 Apr 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.....");
     }
  }
658 page views in the last 30 days.
×