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

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

  • Comments 14

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;
    }
}

Para mantenerla y mejorarla he creado este Gist en GitHub de tal forma que aquí verán siempre la versión más actualizada.

Ejemplo de uso


// hay conexión a internet ?
if (InternetConectivity)
{
    //Do Something
}
Si tienen preguntas no olviden etiquetarme como Juan Carlos Ruiz - Arquitecto de Software


  • Conoces de algún modo de tener un valor referente al ancho de banda de la conexión de Internet en WinRT

  • Vicente, si. Con esta misma funcionalidad si revisas el NetworkConnectivityLevel puedes saber si hay buena calidad en la conexión a internet o si hay conexión pobre: NetworkConnectivityLevel.ConstrainedInternetAccess

    En este caso para simplificar he utilizado el otro valor pero si te interesa saber de la calidad de la conexión este es el indicado.

  • Mejorando la experiencia de usuario - Parte 2 Este es el último post de esta serie, solo nos falta afinar

  • Mejorando la experiencia de usuario - Parte 2 Este es el último post de esta serie, solo nos falta afinar

  • Este es el último post de esta serie, solo nos falta afinar estos dos importantes temas:

    Detección de conexión a internet

    Adición de la política de privacidad

  • Este es el último post de esta serie, solo nos falta afinar estos dos importantes temas:

    Detección de conexión a internet

    Adición de la política de privacidad

  • Este es el último post de esta serie, solo nos falta afinar estos dos importantes temas:

    Detección de conexión a internet

    Adición de la política de privacidad

  • Este es el último post de esta serie, solo nos falta afinar estos dos importantes temas:

    Detección de conexión a internet

    Adición de la política de privacidad

  • Este es el último post de esta serie, solo nos falta afinar estos dos importantes temas:

    Detección de conexión a internet

    Adición de la política de privacidad

  • Este es el último post de esta serie, solo nos falta afinar estos dos importantes temas:

    Detección de conexión a internet

    Adición de la política de privacidad

  • Mejorando la experiencia de usuario - Parte 2 Este es el último post de esta serie, solo nos falta afinar

  • Mejorando la experiencia de usuario - Parte 2 Este es el último post de esta serie, solo nos falta afinar

  • Mejorando la experiencia de usuario - Parte 2 Este es el último post de esta serie, solo nos falta afinar

  • Mejorando la experiencia de usuario - Parte 2 Este es el último post de esta serie, solo nos falta afinar

Page 1 of 1 (14 items)