如何:使用客户端应用程序服务访问用户设置
可以使用客户端应用程序服务从现有的 Microsoft Ajax 配置文件服务中检索用户应用程序设置。 客户端应用程序服务 Web 设置功能与 .NET Framework 2.0 中提供的应用程序设置功能进行集成。 有关应用程序设置的更多信息,请参见应用程序设置概述。 有关如何设置 Microsoft Ajax 配置文件服务的信息,请参见通过 Microsoft Ajax 使用配置文件信息。
下面的过程描述了将应用程序配置为使用 Web 设置服务时如何访问 Web 设置。 有关更多信息,请参见如何:配置客户端应用程序服务。 此过程需要访问正在运行的 Microsoft Ajax 配置文件服务。 有关在客户端应用程序服务功能的端到端测试的指南,请参见演练:使用客户端应用程序服务。
在 Windows 客户端应用程序中访问 Web 设置
确保将应用程序正确地配置为使用客户端应用程序服务,如如何:配置客户端应用程序服务中所述。 在项目设计器的**“服务”**页上必须至少指定一个 Web 设置服务位置。 若要检索配置为供经过身份验证用户使用的 Web 设置,则必须指定一个身份验证服务位置或使用 Windows 身份验证。
在项目设计器的**“设置”页上,单击“加载 Web 设置”**。
将显示**“登录”**对话框。
若要检索服务器上配置为供所有经过身份验证的用户使用的设置,则指定有效用户凭据并单击**“登录”。 若要检索配置为供所有匿名用户使用的设置,则单击“跳过登录”**。
服务器上配置的设置将显示在设计器中。 此外,将生成或更新 Settings 类(在 C# 中作为 Properties.Settings.Default 进行访问,在 Visual Basic 中作为 My.Settings 进行访问)以基于这些设置包含属性。 此类管理所有通过 ClientSettingsProvider 类与远程 Web 设置服务进行的交互。 虽然可以直接访问 ClientSettingsProvider 类,但通常通过 Settings 类进行间接访问,如下面的步骤所示。 有关更多信息,请参见客户端应用程序服务概述。
提示
不可使用“设置”页修改默认 Web 设置值或访问非默认值。 此外,如果在服务器上修改默认值,则必须通过单击“加载 Web 设置”按钮检索新的默认值。 客户端应用程序服务不使用“同步”按钮。
在应用程序代码中,使用生成类的属性来获取或设置 Web 设置值。
下面的代码示例假定已经检索了一个名为 MySetting 的设置,并且应用程序包含一个名为 myLabel 的 Label。
My.Settings.MySetting = "test" myLabel.Text = My.Settings.MySetting
Properties.Settings.Default.MySetting = "test"; myLabel.Text = Properties.Settings.Default.MySetting;
在应用程序代码中,使用 ApplicationSettingsBase.Save 方法以便将更改的设置值保存回 Web 设置服务。
My.Settings.Save()
Properties.Settings.Default.Save();
可靠编程
本主题中的代码示例演示 Windows 客户端应用程序中的 Web 设置的最简单用法。 但是,当通过客户端应用程序服务访问或保存 Web 设置时,代码可能引发 WebException。 这表示服务不可用或用户登录已过期。 有关在此类情况下如何处理 WebException 的示例,请参见演练:使用客户端应用程序服务。