Hello everyone,
I met with timeout issue. Here is my whole code. I just send Http request to two local LAN servers and see if response could be received in given time, then I treat the server as healthy, or else I will treat them as unhealthy.
The two servers are simple ASP.Net ASMX Web Serviers Web Servers on IIS. The timeout will happen for both servers are PingServers method executing for 4-5 times successfully. It is strange timeout since the server are pretty fast -- I use IE to access the same URL, it takes less than 1 second to return, but in my code, I set timeout to be 4 seconds, it will prints timeout.
Does anyone have any ideas? Any bugs in my code?
[Code]
static void PingServers(Object state) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create((String)state); request.Timeout = 4 * 1000; HttpWebResponse response = null; try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { Console.WriteLine((String)state + " " + ex.ToString()); return; }
Console.WriteLine((String)state + " is healthy");
return; }
static Timer[] monitorTimers = new Timer[2]; static void Main(string[] args) { monitorTimers[0] = new Timer(PingServers, "http://localserver1/test/test.ashx", 0, 10 * 1000); monitorTimers[1] = new Timer(PingServers, "http://localserver2/test/test.ashx", 0, 10 * 1000);
Console.ReadLine();
return; }[/Code]
thanks in advance,George