Server-Check mit C#.NET

PHP oder ASP: Scripts anfordern

Nun kommt der interessantere Teil der Check-Routine: Das Programm führt einen Request durch und fragt den zu testenden Webserver nach dem Script servertest. Das Script hat entweder die Erweiterung .asp oder .php und wird immer im Basisverzeichnis des Webservers erwartet. Mit einer eigenen Erweiterung könnten Sie diesen Umstand natürlich verändern:

try
{
WebClient wc = new WebClient();
if( isPhp) buffer = wc.DownloadData( "http://" + Name + "//serverstatus.php?p=" + ticks);
else buffer = wc.DownloadData( "http://" + Name + "//serverstatus.asp?p=" + ticks);
download = Encoding.ASCII.GetString( buffer);
}
catch( Exception ex)
{
Cursor.Current = Cursors.Default;
status = false;
error = ex.Message;
return;
}

Die Anfrage an den Webserver ist in einen Try/Catch-Block eingepackt. Tritt eine Exception auf, wird diese "gefangen" und das Server-Objekt auf den Status false gesetzt. Eine Exception bedeutet nämlich in diesem Zusammenhang ein Problem mit dem Server - zum Beispiel könnte ein Timeout aufgetreten sein, weil der Server nicht geantwortet hat.

Der Grund für den Fehler wird in error gespeichert - er liegt als Teil des Exception-Objekts ex vor und lässt sich daher leicht ermitteln.