Hücre servisinde kullanmak üzere uzak kamyonlar için yazılmış bir uygulamam var. Hiçbir şey yapmadan önce, bu sınıfla internet kontrol ediyorum: Bu internet vardır sanki Bazı durumlardaİnternet bağlantısını hücresel şebekede test etme
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;
}
}
}
}
, dış hücresel cihazda ışık yeşil ışık vardır. Test sınıfım yanlış geliyor ve internet olmadığını düşünüyor.
Sürücü internet explorer'ı açabilir, internet explorer'ı kapatabilir, uygulamayı derhal çalıştırabilir ve yukarıdaki testi geçer.
Kullanıcılar, IE'nin interneti “uyandırarak” aktarabileceğini söylüyor.
Sınıfım aslında aynı şeyi yapmıyor mu? Aksi takdirde, internet bağlantısının IE’yi nasıl yaptığı gibi uyandırabilirim?
Sadece bir teoriye
HasConnection
ayarlanır, ancak belki de DNS ile ilgili olması gerekirdi. Www.google.com'u çözemediniz ve DNSCache Service bu sonucu ezberledi, bu yüzden çalıştığı zaman bile bir şey başarısız olursa, servis bir tekme verene kadar. DNSCache'yi devre dışı bırakabilir veya yalnızca IP adreslerini kullanarak internet bağlantınızı test edebilirsiniz, örneğin 8.8.8.8'e ping atabilirsiniz. – Havenardİşte başka bir çözüm: http://social.msdn.microsoft.com/forums/en-US/7eda3979-6424-4702-89f4-1f586b613b01/flush-dns-cache – Havenard