Condividi tramite


Procedura: lavorare offline con servizi delle applicazioni client

È possibile utilizzare servizi dell'applicazione client in modalità offline quando i servizi dell'applicazione client Microsoft Ajax ai quali si connette l'applicazione in uso non sono disponibili. In questo modo è possibile autenticare utenti, recuperarne i ruoli e recuperarne o salvarne le impostazioni Web utilizzando una cache dati locale. In modalità offline, tutte le risposte del servizio vengono inserire automaticamente nella cache locale senza richiedere modifiche al codice.

Lo stato offline viene archiviato sul disco rigido locale nel percorso indicato dalla proprietà Application.UserAppDataPath. Questo significa che lo stato offline viene archiviato in base all'utente e all'applicazione. Quando l'applicazione è in modalità offline, tutte le chiamate che normalmente verrebbero indirizzate al servizio remoto saranno invece disponibili nella cache di dati locale. Per impostazione predefinita, i valori offline vengono archiviati sul file system locale. In alternativa, è possibile configurare l'applicazione per utilizzare un database SQL Server oSQL Server Compact Edition versione 3.5. Per ulteriori informazioni, vedere Procedura: configurare i servizi delle applicazioni client.

Nella seguente procedura viene descritto come specificare la modalità offline quando l'applicazione è configurata per utilizzare i servizi dell'applicazione client. Per istruzioni sul testing completo delle funzionalità dei servizi dell'applicazione client, vedere Procedura dettagliata: utilizzo di servizi delle applicazioni client.

Per attivare la modalità offline nell'applicazione

  1. Assicurarsi che l'applicazione sia configurata correttamente per utilizzare i servizi dell'applicazione client in modalità offline, come descritto in Procedura: configurare i servizi delle applicazioni client. Si selezionerà in genere l'opzione Salva hash della password localmente per consentire l'accesso offline, consentendo di autenticare gli utenti mentre l'applicazione è offline. Potrebbe inoltre essere opportuno impostare il valore Timeout cache servizio ruolo su un grande valore per impedire le informazioni sui ruoli dallo scadere in modalità offline.

  2. Impostare la proprietà static ConnectivityStatus.IsOffline su true. Nell'esempio di codice seguente viene illustrata l'impostazione di questa proprietà in un gestore eventi CheckBox.CheckedChanged in modo che l'utente possa attivare o disattivare la modalità offline.

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

Programmazione efficiente

Nel codice di esempio in questo argomento viene illustrato il più semplice utilizzo della modalità offline in un'applicazione del client Windows. Potrebbe essere opportuno aggiungere altro codice che viene eseguito quando l'applicazione ritorna in modalità online. È ad esempio possibile riconvalidare l'utente senza avvisi per garantire che le chiamate al servizio remoto vengano eseguite correttamente anche se il cookie di autenticazione scade. È inoltre possibile aggiornare la cache delle impostazioni Web locale e il servizio delle impostazioni Web remoto con qualsiasi modifica apportata durante la modalità offline. Per un esempio di codice che illustri questi comportamenti, vedere Procedura dettagliata: utilizzo di servizi delle applicazioni client.

Vedere anche

Attività

Procedura: configurare i servizi delle applicazioni client

Procedura dettagliata: utilizzo di servizi delle applicazioni client

Riferimenti

ConnectivityStatus.IsOffline

Concetti

Cenni preliminari sui servizi delle applicazioni client

Altre risorse

Servizi applicazioni client