2015-04-03 6 views
1

Я использую эту функцию, чтобы проверить подключение к ИнтернетуWinRT Как проверить подключение к Интернету?

public static bool IsConnectedToInternet() 
{ 
    ConnectionProfile connectionProfile = NetworkInformation.GetInternetConnectionProfile(); 
    return (connectionProfile != null && connectionProfile.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess); 
} 

и она отлично работает, если я не подключен к сети, но проблема появляется, когда Интернет вниз и по-прежнему подключена этот метод возвращает истину. Есть ли другой способ проверить подключение к Интернету идеально?

+4

Определите «подключение к Интернету». Вы либо можете добраться до какого-либо хоста (ов) или нет, это единственное, что вам нужно, и представить хорошие сообщения об ошибках, когда хост недоступен. – n0rd

ответ

1

Это правильный API для использования. Но, как сказал Дэниел, подключение к Интернету может означать много чего. Также обратите внимание, что есть латентность при обнаружении потери и усиления «интернет-соединения».

Возможно создание фоновой задачи, которая будет вызываться, когда сетевое подключение будет обнаружено как доступное через Интернет; см. SystemTriggerType.

Смежные вопросы