Gewusst wie: Offline arbeiten mit Clientanwendungsdiensten

Sie können Clientanwendungsdienste im Offlinemodus verwenden, wenn die Microsoft Ajax-Anwendungsdienste, zu denen die Anwendung eine Verbindung herstellt, nicht verfügbar sind. Dadurch können Sie Benutzer authentifizieren, Benutzerrollen abrufen sowie Webeinstellungen unter Verwendung eines lokalen Datencaches abrufen oder speichern. Im Offlinemodus werden alle Dienstanforderungen automatisch an den lokalen Cache gerichtet, ohne dass der Code geändert werden muss.

Der Offlinestatus wird auf der lokalen Festplatte gespeichert, und zwar an dem durch die Application.UserAppDataPath-Eigenschaft angegebenen Speicherort. Dies bedeutet, dass der Offlinestatus benutzer- und anwendungsbasiert gespeichert wird. Wenn sich die Anwendung im Offlinemodus befindet, wird durch alle Aufrufe, die normalerweise an den Remotedienst gerichtet werden, stattdessen auf den lokalen Datencache zugegriffen. Standardmäßig werden Offlinewerte im lokalen Dateisystem gespeichert. Alternativ können Sie die Anwendung für die Verwendung einer SQL Server- oder SQL Server Compact Edition Version 3.5-Datenbank konfigurieren. Weitere Informationen finden Sie unter Gewusst wie: Konfigurieren von Clientanwendungsdiensten.

Im folgenden Verfahren wird beschrieben, wie die Anwendung in den Offlinemodus geschaltet wird, wenn die Anwendung für die Verwendung von Clientanwendungsdiensten konfiguriert ist. Anweisungen zu End-to-End-Testverfahren für Clientanwendungsdienst-Features finden Sie unter Exemplarische Vorgehensweise: Verwenden von Clientanwendungsdiensten.

So schalten Sie die Anwendung in den Offlinemodus

  1. Stellen Sie sicher, dass die Anwendung ordnungsgemäß für die Verwendung von Clientanwendungsdiensten im Offlinemodus konfiguriert ist, wie in Gewusst wie: Konfigurieren von Clientanwendungsdiensten beschrieben. Normalerweise aktivieren Sie die Option Kennworthash lokal speichern, um Offlineanmeldung zu ermöglichen. Dadurch können Benutzer authentifiziert werden, während die Anwendung offline ist. Sie können auch den Wert Cachetimeout des Rollendiensts auf einen hohen Wert festlegen, um zu verhindern, dass die Rolleninformationen im Offlinemodus ablaufen.

  2. Legen Sie die static ConnectivityStatus.IsOffline-Eigenschaft auf true fest. Im folgenden Codebeispiel wird veranschaulicht, wie diese Eigenschaft im CheckBox.CheckedChanged-Ereignishandler festgelegt wird, sodass der Benutzer den Offlinemodus aktivieren oder verlassen kann.

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

Robuste Programmierung

Durch den Beispielcode in diesem Thema wird die einfachste Verwendungsmöglichkeit des Offlinemodus in einer Windows-Clientanwendung veranschaulicht. Sie können auch weiteren Code hinzufügen, der ausgeführt wird, wenn die Anwendung in den Onlinemodus zurückkehrt. Beispielsweise können Sie den Benutzer automatisch erneut überprüfen lassen, um sicherzustellen, dass Remotedienstaufrufe nicht aufgrund eines abgelaufenen Authentifizierungscookies fehlschlagen. Zusätzlich können Sie den lokalen Webeinstellungscache und den Remote-Webeinstellungsdienst anhand von Änderungen aktualisieren, die im Offlinebetrieb vorgenommen wurden. Beispielcode zur Veranschaulichung dieser Verhaltensweisen finden Sie unter Exemplarische Vorgehensweise: Verwenden von Clientanwendungsdiensten.

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren von Clientanwendungsdiensten

Exemplarische Vorgehensweise: Verwenden von Clientanwendungsdiensten

Referenz

ConnectivityStatus.IsOffline

Konzepte

Übersicht über Clientanwendungsdienste

Weitere Ressourcen

Clientanwendungsdienste