Freigeben über


Cómo detectar si hay conexión a Internet en WinRT | C#

Básico

Detectar la conexión a Internet es una tarea frecuente dentro de las aplicaciones que se publican dentro de Windows Store, por demás esta decir que en el proceso de certificación se evalúa que la aplicación sea resistente a diferentes tipos fallos, una de las cosas que se evalúa es que la aplicación sea resistente a fallas en la red o fallas de conectividad a internet.

Para hacerlo existe la clase NetworkInformation , la cual nos provee múltiples funcionalidades relacionadas con el entorno de red.

Utilizando esta clase he desarrollado una sencilla forma de preguntar si ¿Hay conexión a internet? esta es:

 /// <summary>
/// Detects Internet Access Connectivity in WinRT
/// </summary>
/// <remarks>
/// This is a Property to put into a class 
/// requires using Windows.Networking.Connectivity;
/// </remarks>
public static bool InternetConectivity  
{
    get
    {
        var prof = NetworkInformation.GetInternetConnectionProfile();
        return prof != null && prof.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess;
    }
}

Ejemplo de uso

 // hay conexión a internet ?
if (InternetConectivity)  
{
    //Do Something
}