Проверка доступности сети в приложении Windows Phone 7

Большинство мобильных приложений Windows Phone 7 так или иначе работают с ресурсами из сети. Думаю, многие согласятся со мной, что WP7-устройство, не подключенное к сети не представляет особого смысла. В реальности нам не всегда доступна сеть при использовании устройства. В этом случае следует корректно обрабатывать эту ситуацию в своем приложении. Здесь я покажу простой способ как это можно сделать.

В действительности для разработчика было бы хорошо иметь не только информацию о наличии сети, но и представлять какой тип сети в данный момент используется. Например, было бы неправильно загружать несколько сотен мегабайт через 3G-сеть, хотя для WiFi-сетей это, как правило, нормально. Такую функциональность предоставляет объект NetworkInterface, который расположен в пространстве имен Microsoft.Phone.Net.NetworkInformation. Следующие примеры кода позволяют получить информацию о наличии сети и ее типе.

Проверка доступности сети:

bool isNetworkAvailable = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();

Определение типа сети:

NetworkInterfaceType type = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType;

Тип NetworkInterfaceType – это перечисление, которое может принимать различные значения в зависимости от типа сети:

  • Ethernet
  • MobileBroadbandCdma
  • MobileBroadbandGsm
  • Wireless80211
  • None