Question

Nous travaillons sur un composant WebBrowser enveloppé. Nous aimerions afficher une page (par exemple oursite.com/thispage.html) si l'utilisateur est en ligne et une autre page (par exemple C: \ quelque part \ thispage_offline.html) si l'utilisateur est hors ligne. Je peux afficher correctement les pages, mais mon problème détecte le statut en ligne / hors ligne.

J'ai essayé WebBrowser.IsOffline ; mais il semble que seul l'état des relais mode hors connexion, pas si l'ordinateur ou non réellement en mesure d'accéder à Internet.

Y at-il un moyen de détecter ce à partir du composant WebBrowser? Est-il possible du tout?

Merci pour votre aide!

Était-ce utile?

La solution

Le plus simple pour vérifier la connectivité Internet est de faire un ping de votre serveur.

Essayez ce code:

public static bool IsOnline() {
    var pinger = new Ping();

    try {
        return pinger.Send("oursite.com").Status == IPStatus.Success;
    } catch(SocketException) { return false; } catch(PingException) { return false; }
}

Vous pouvez essayer d'utiliser la classe WebRequest pour envoyer une demande à une simple page sur votre site et voir si elle réussit. Ceci est une meilleure option, car il sera également vous assurer que IIS (ou Apache) est en cours d'exécution sur le serveur.

Autres conseils

Que faire si vous venez d'utiliser le Ping classe pour voir si le site est disponible?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top