方法 : クライアント アプリケーション サービスをオフライン モードで操作する

アプリケーションが接続する Microsoft Ajax アプリケーション サービスが使用できない場合、オフライン モードでクライアント アプリケーション サービスを使用できます。 これにより、ローカル データ キャッシュを使用して、ユーザーの認証、ユーザー ロールの取得、ユーザーの Web 設定の取得や保存を行うことができます。 オフライン モードでは、すべてのサービス要求が自動的にローカル キャッシュに対して行われます。コードを変更する必要はありません。

オフライン ステータスは、Application.UserAppDataPath プロパティによって示される場所のローカル ハード ディスクに格納されます。 つまり、オフライン ステータスは、ユーザーおよびアプリケーション単位で格納されます。 アプリケーションがオフライン モードの場合、通常はリモート サービスに対して行われるすべての呼び出しがローカル データ キャッシュに対して行われます。 既定では、オフライン値はローカル ファイル システムに格納されます。 または、SQL Server データベースまたは SQL Server Compact Edition version 3.5 データベースを使用するようにアプリケーションを構成することもできます。 詳細については、「方法 : クライアント アプリケーション サービスを構成する」を参照してください。

次の手順では、クライアント アプリケーション サービスを使用するようにアプリケーションが構成されている場合にアプリケーションをオフライン モードに切り替える方法について説明します。 クライアント アプリケーション サービス機能の全体的なテストのガイダンスについては、「チュートリアル : クライアント アプリケーション サービスの使用」を参照してください。

アプリケーションをオフライン モードに切り替えるには

  1. 方法 : クライアント アプリケーション サービスを構成する」に示すように、アプリケーションがオフライン モードでクライアント アプリケーション サービスを使用するように適切に構成されていることを確認します。 通常は、[オフラインでログインできるようにパスワードのハッシュをローカルに保存する] チェック ボックスをオンにします。これにより、アプリケーションがオフラインの間も、ユーザーを認証できます。 また、オフライン モード中にロール情報が期限切れにならないように [ロール サービスのキャッシュのタイムアウト] 値を大きい値に設定しておく必要もあります。

  2. static ConnectivityStatus.IsOffline プロパティを true に設定します。 ユーザーがオフライン モードの切り替えを実行できるように、CheckBox.CheckedChanged イベント ハンドラーでこのプロパティを設定する方法を、次のコード例に示します。

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

信頼性の高いプログラミング

このトピックでは、Windows クライアント アプリケーションで最も単純なオフライン モードの使用法のコード例を示します。 場合によって、アプリケーションがオンライン モードに戻るときに実行するコードを追加することができます。 たとえば、自動的にユーザーを再検証して、認証 Cookie の期限切れでリモート サービスの呼び出しが失敗しないようにすることができます。 また、オフライン時に変更があったローカル Web 設定キャッシュとリモート Web 設定サービスを更新することもできます。 これらの動作を示すコード例については、「チュートリアル : クライアント アプリケーション サービスの使用」を参照してください。

参照

処理手順

方法 : クライアント アプリケーション サービスを構成する

チュートリアル : クライアント アプリケーション サービスの使用

参照

ConnectivityStatus.IsOffline

概念

クライアント アプリケーション サービスの概要

その他の技術情報

クライアント アプリケーション サービス