Share via


如何:脱机使用客户端应用程序服务

当应用程序连接到的 Microsoft Ajax 应用程序服务不可用时,可以在脱机模式下使用客户端应用程序服务。 这使您可以通过使用本地数据缓存,对用户进行身份验证、检索用户角色以及检索或保存用户 Web 设置。 在脱机模式下,无需更改代码,所有服务请求就会自动转到本地缓存。

脱机状态存储在本地硬盘上由 Application.UserAppDataPath 属性指示的位置。 这意味着脱机状态将基于每个用户、每个应用程序进行存储。 当应用程序处于脱机模式时,通常应转到远程服务的所有调用将改为访问本地数据缓存。 默认条件下,脱机值存储在本地文件系统上。 或者,也可以配置应用程序以使用 SQL Server 或 SQL Server Compact Edition 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

概念

客户端应用程序服务概述

其他资源

客户端应用程序服务