Ich habe eine Anwendung, die für Remote-Trucks für den Zellendienst geschrieben wurde. Bevor ich etwas tun, bin Überprüfung ich das Internet mit dieser Klasse:testing internet connection in einem Mobilfunknetz
using System.Net;
namespace SSS.ServicesConfig.MiscClasses
{
public class VerifyInternetAccess
{
public static bool HasInternet()
{
try
{
using (var client = new WebClient())
using (var stream = client.OpenRead("http://www.google.com"))
{
return true;
}
}
catch
{
return false;
}
}
}
}
In einigen Fällen hat das Licht auf dem externen Mobilgerät ein grünes Licht, als ob es Internet hat. Meine Testklasse kommt falsch zurück und denkt, dass sie kein Internet hat.
Der Treiber kann dann Internet Explorer öffnen, Internet Explorer schließen, sofort meine Anwendung ausführen und es besteht den obigen Test.
Die Benutzer sagen, dass IE "wacht" das Internet, so dass es übertragen kann.
Taugt meine Klasse im Wesentlichen nicht die gleiche Sache? Wenn nicht, wie kann ich die Internet-Verbindung "aufwachen", wie IE?
nur eine Theorie entlassen und festgelegt wurde, aber vielleicht seine DNS verwendet. Sie haben es nicht geschafft, www.google.com aufzulösen, und der DNSCache-Dienst merkte sich dieses Ergebnis, sodass es auch dann noch fehlschlägt, wenn es funktionieren sollte, bis etwas dem Dienst einen Kick gibt. Sie können DNSCache entweder deaktivieren oder Ihre Internetkonnektivität nur mit IP-Adressen testen, z. B. mit Ping 8.8.8.8. – Havenard
Hier ist eine andere Lösung: http://social.msdn.microsoft.com/forums/en-US/7eda3979-6424-4702-89f4-1f586b613b01/flush-dns-cache – Havenard