如何:使用客户端应用程序服务访问用户设置
更新:2007 年 11 月
可以使用客户端应用程序服务从现有的 ASP.NET AJAX 配置文件服务中检索用户应用程序设置。客户端应用程序服务 Web 设置功能与 .NET Framework 2.0 中提供的应用程序设置功能进行集成。有关应用程序设置的更多信息,请参见应用程序设置概述。有关如何设置 ASP.NET AJAX 配置文件服务的信息,请参见将配置文件信息与 ASP.NET AJAX 一起使用。
下面的过程描述了将应用程序配置为使用 Web 设置服务时如何访问 Web 设置。有关更多信息,请参见如何:配置客户端应用程序服务。此过程需要访问正在运行的 ASP.NET 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 的示例,请参见演练:使用客户端应用程序服务。