Проверьте интернет-соединение в Silverlight - PullRequest
2 голосов
/ 01 июля 2010

Я пишу приложение Silverlight 4 и хотел бы при открытии установленного вне браузера приложения проверить наличие действующего подключения к Интернету (чтобы затем загрузить некоторые данные с моего веб-сайта).Каков наилучший способ сделать это?Я понимаю, что могу попытаться поймать попытку WebRequest, но мне это кажется немного хакерским.

РЕДАКТИРОВАТЬ : То, что я имел в виду под действительным подключением к Интернету , простоподключен к интернету

Ответы [ 3 ]

3 голосов
/ 01 июля 2010

Существует класс с именем NetworkInterface, который позволит это.

 if (!NetworkInterface.GetIsNetworkAvailable())
 { 
      // no network connection
 }

Теперь не всегда можно определить, есть ли подключение к Интернету или нет, в зависимости от настроек прокси и других переменных.

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.aspx

3 голосов
/ 01 июля 2010

Что такое действительное интернет-соединение?Если вы хотите проверить свою способность загружать данные со своего сайта, проверьте, можете ли вы загрузить их со своего сайта.Нет ничего очень хакерского в размещении блока try / catch вокруг чего-то, что может не сработать по независящим от вашей программы причинам.Это именно то, что я бы сделал.

То, что клиент "подключен к Интернету", не обязательно означает, что ваш сайт доступен для обработки данных, которые вы хотите.Это единственная действительная вещь для проверки.

1 голос
/ 01 июля 2010

Вы можете просто убить двух зайцев одним выстрелом с помощью Application.CheckAndDownloadUpdateAsync . Когда вы получите False на UpdateAvailable при обработке Application.CheckAndDownloadUpdateCompleted , это будет означать одно из двух: ваш сайт недоступен или обновление недоступно. В любом случае вы будете знать, что вам нужно знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...