Cómo: Trabajar sin conexión con servicios de aplicaciones cliente

Puede utilizar los servicios de aplicaciones cliente en el modo sin conexión cuando no estén disponibles los servicios de aplicaciones de Microsoft Ajax a los que se conecta la aplicación. Esto permite autenticar a los usuarios, recuperar las funciones de usuario y recuperar o guardar la configuración web del usuario utilizando una caché de datos local. En el modo sin conexión, todas las solicitudes de servicio van automáticamente a la caché local sin que sean necesarios cambios en el código.

El estado sin conexión se almacena en el disco duro local en la ubicación indicada por la propiedad Application.UserAppDataPath. Esto significa que el estado sin conexión se almacena para cada usuario y aplicación. Cuando la aplicación está en el modo sin conexión, todas las llamadas que normalmente irían al servicio remoto tendrán acceso a la caché de datos local en su lugar. De forma predeterminada, los valores sin conexión se almacenan en el sistema de archivos local. De forma alternativa, puede configurar la aplicación para que use una base de datos de SQL Server o SQL Server Compact Edition versión 3.5. Para obtener más información, vea Cómo: Configurar servicios de aplicaciones cliente.

El siguiente procedimiento describe cómo poner la aplicación en el modo sin conexión cuando ésta está configurada para utilizar los servicios de aplicaciones cliente. Para obtener orientación sobre pruebas de un extremo a otro de las características de los servicios de aplicaciones cliente, vea Tutorial: Usar servicios de aplicaciones cliente.

Para poner la aplicación en el modo sin conexión

  1. Asegúrese de que la aplicación está configurada correctamente para utilizar los servicios de aplicaciones cliente en el modo sin conexión, tal como se describe en Cómo: Configurar servicios de aplicaciones cliente. Normalmente seleccionará la opción Guardar hash de contraseña para permitir el inicio de sesión sin conexión, lo cual permite autenticar usuarios mientras la aplicación está sin conexión. También podría establecer el valor de Tiempo de espera de la caché del servicio de funciones en un valor grande para evitar que la información de funciones expire en el modo sin conexión.

  2. Establezca la propiedad static ConnectivityStatus.IsOffline en true. El ejemplo de código siguiente muestra cómo establecer esta propiedad en un controlador de eventos CheckBox.CheckedChanged para que el usuario pueda entrar o salir del modo sin conexión.

    Private Sub checkBox1_CheckedChanged( _
        ByVal sender As Object, ByVal e As EventArgs) _
        Handles checkBox1.CheckedChanged
    
        ConnectivityStatus.IsOffline = checkBox1.Checked
    
    End Sub
    
    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        ConnectivityStatus.IsOffline = checkBox1.Checked;
    }
    

Programación eficaz

El código de ejemplo de este tema muestra el uso más simple del modo sin conexión en una aplicación cliente de Windows. Puede agregar más código que se ejecute cuando la aplicación vuelva al modo en línea. Por ejemplo, puede volver a validar al usuario silenciosamente para asegurarse de que no se producirá un error en las llamadas al servicio remoto debido a una cookie de autenticación expirada. Además, puede actualizar la caché de configuración web local y el servicio de configuración web remoto con cualquier modificación realizada mientras estaba sin conexión. Para obtener un ejemplo de código que muestre estos comportamientos, vea Tutorial: Usar servicios de aplicaciones cliente.

Vea también

Tareas

Cómo: Configurar servicios de aplicaciones cliente

Tutorial: Usar servicios de aplicaciones cliente

Referencia

ConnectivityStatus.IsOffline

Conceptos

Información general sobre los servicios de aplicaciones cliente

Otros recursos

Servicios de aplicación cliente