July 11, 2010

Pinging a Web service in .net

Pinging a Web service in .net

 IPAddress ip = IPAddress.Parse(txtPingEnter.Text);  
 Ping p = new Ping();  
 PingReply pr = p.Send(ip);  
 //txtPingResult.Text = pr.ToString();  
 txtPingResult.Text += pr.Status.ToString();  
 txtPingResult.Text += pr.RoundtripTime.ToString();  

This is for pinging to an IP address .So my doubt is that how can we ping a web service like this ?
As far as I know, we can ping against only an IP Address, not with URL. so what we can do is just make use of HttpWebrequest class to achieve the same. the below console program is used to sniff the site.

 using System.Net;  
 using System;  
 public class Sniffer  
 {  
 public static void Main()  
 {  
 try  
 {  
 string lcUrl = "URL ";  
 // *** Establish the request  
 HttpWebRequest loHttp = (HttpWebRequest) WebRequest.Create(lcUrl);  
 // *** Set properties  
 loHttp.Timeout = 10000; // 10 secs  
 // pass Proxy string and bypass local machine if required.  
 WebProxy loProxy = new WebProxy("http://proxyaddress",true);  
 loProxy.Credentials = new NetworkCredential("username","password");  
 loHttp.Proxy = loProxy;  
 // *** Retrieve request info headers  
 HttpWebResponse loWebResponse = (HttpWebResponse) loHttp.GetResponse();  
 loWebResponse.Close();  
 Console.WriteLine("Success ");  
 }  
 catch(Exception ex)  
 {  
 Console.WriteLine("Error : " + ex.Message);  
 }  
 }  
 }