2009-10-15 8 views
2

Je voudrais savoir comment vérifier si un site Web est hors ligne ou en ligne en utilisant C#?Vérifiez si le site Web est en ligne avec ASP.NET C#?

+2

S'il vous plaît demander votre 2ème question un poste distinct. Ce n'est pas un forum. – Soviut

+0

Voici une des questions simialr sur [Meilleure façon de tester si un site est vivant à partir d'un C# applicaito] (http://stackoverflow.com/questions/186894/best-way-to-test-if-a-website-is -alive-from-ac-applicaiton) n – Shoban

Répondre

9

Essayez de frapper l'URL en utilisant HttpWebClient sur un HTTP-GET demande. Appelez la méthode GetResponse() pour le HttpWebClient que vous venez de créer. Vérifiez les codes HTTP-Status dans la réponse.

Here vous trouverez la liste de tous les codes d'état HTTP. Si le code d'état de votre requête est stocké à partir de 5 [5xx], cela signifie que le site est hors ligne. Il existe d'autres codes qui peuvent également vous indiquer si le site est hors ligne ou indisponible. Vous pouvez comparer les codes par rapport à ceux que vous préférez dans la liste complète.

//Code Example 

HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create("http://www.stackoverflow.com"); 
httpReq.AllowAutoRedirect = false; 

HttpWebResponse httpRes = (HttpWebResponse)httpReq.GetResponse(); 

if (httpRes.StatusCode==HttpStatusCode.NotFound) 
{ 
    // Code for NotFound resources goes here. 
} 

// Close the response. 
httpRes.Close(); 
+0

Merci! Je pense que c'est encore plus que j'ai cherché! Agréable. –

+0

wont ceci produisent une erreur si la page/url n'est pas trouvée? J'ai des exceptions – BerggreenDK

0

Tout d'abord, définissez "en ligne" et "hors ligne". Toutefois, si votre code codebehind est en cours d'exécution, votre site est en ligne.

+0

non j'aime vérifier une URL spécifique et puis j'ai pensé que je reçois un vrai ou faux ou un statut retourné, mais je ne sais pas comment le faire. –

+0

@snarebold: Je serais d'accord avec Anton; Si vous codebehind est en cours d'exécution, votre site est en ligne. Est-ce que par "En ligne" vous voulez dire, vous voulez vérifier à partir de votre projet asp.net si le système est connecté à Internet? –

0

Pour mes applications Web, j'utilise un paramètre appelé Hors connexion, que l'administrateur peut activer/désactiver. Ensuite, je peux vérifier ce paramètre par programme. J'utilise ce paramètre hors connexion pour afficher un message de maintenance convivial à mes utilisateurs. De plus, vous pouvez utiliser App_Offline.htm, référence: http://www.15seconds.com/issue/061207.htm

http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx

+0

merci. Ma question n'était pas vraiment correcte. peut être j'aime mettre dans un code var derrière "www.google.com" et il me dit si c'est hors ligne ou non. Je viens de chercher arount. Je pense que je dois faire des étapes compliquées avec httpwebrequest: S –

-1

Vous pouvez utiliser Pingdom.com et ses API. Vérifiez le code source du « alerteur pour API Pingdom » au bas de this page

Questions connexes