셀 서비스에 원격 트럭 용으로 작성된 응용 프로그램이 있습니다. 나는 아무것도하기 전에,이 클래스와 인터넷을 확인하고 있습니다 : 그것은 인터넷을 가지고있는 것처럼 어떤 경우에는셀룰러 네트워크에서 인터넷 연결 테스트
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;
}
}
}
}
는 외부 휴대 장치의 표시등이 녹색 표시등이 있습니다. 내 테스트 클래스는 허위로 돌아가서 인터넷이 없다고 생각합니다.
그러면 드라이버는 인터넷 익스플로러를 열고 인터넷 익스플로러를 닫고 내 애플리케이션을 실행하며 위 테스트를 통과합니다.
사용자는 IE가 인터넷을 '깨워서'전송할 수 있다고 말합니다.
내 수업은 본질적으로 같은 일을하지 않습니까? 그렇지 않다면 IE와 마찬가지로 인터넷 연결을 '깨울 수 있습니까?'
그냥 이론에
HasConnection
을 설정,하지만 어쩌면 그 DNS 관련되어 있어야합니다. www.google.com을 확인하지 못했고 DNSCache 서비스가이 결과를 암기하여 작동해야 할 때조차도 서비스가 실패 할 때까지 계속 실패합니다. DNSCache를 비활성화하거나 IP 주소만을 사용하여 인터넷 연결을 테스트 할 수 있습니다 (예 : 핑 8.8.8.8). – Havenard다음은 또 다른 해결책입니다. http://social.msdn.microsoft.com/forums/en-US/7eda3979-6424-4702-89f4-1f586b613b01/flush-dns-cache – Havenard