如何:在 RIA Services 中启用配置文件
本主题演示在以前启用了身份验证的情况下如何在 WCF RIA Services 解决方案中启用配置文件。使用配置文件,可以检索并保存用户的属性。RIA Services 中的配置文件依赖 ASP.NET 中的配置文件框架。有关 ASP.NET 配置文件的更多信息,请参见 ASP.NET Profile Properties Overview(ASP.NET 配置文件属性概述)。
只有在用户通过身份验证后才可以检索或保存用户配置文件属性。有关为身份验证配置服务器和客户端项目的信息,请参见如何:在 RIA Services 中启用身份验证。
配置服务器项目
在服务器项目中,打开 Web.config 文件。
在
<system.web>
部分中,添加一个<profile>
元素。在
<profile>
元素中,添加配置文件属性。下面的示例显示如何启用配置文件并定义一个名为
FriendlyName
的属性:<system.web> <authentication mode="Forms"></authentication> <profile enabled="true"> <properties> <add name="FriendlyName"/> </properties> </profile> </system.web>
打开包含身份验证服务的
User
类的文件。在
User
类中,添加您已添加到 Web.config 文件的所有配置文件属性。下面的示例显示如何添加名为
FriendlyName
的属性,该属性与已添加到 Web.config 文件的属性匹配。Public Partial Class User Inherits UserBase Private _FriendlyName As String Public Property FriendlyName() As String Get Return _FriendlyName End Get Set(ByVal value As String) _FriendlyName = value End Set End Property End Class
public partial class User : UserBase { public string FriendlyName { get; set; } }
从客户端项目访问配置文件属性
在 Silverlight 客户端项目中,打开代码隐藏页。
在代码隐藏页中,针对 WebContext 当前实例的
User
对象设置或检索配置文件属性。下面的示例显示如何在代码隐藏文件中设置配置文件属性:
WebContext.Current.User.FriendlyName = "Mike"
WebContext.Current.User.FriendlyName = "Mike";
如果要使 WebContext 对象在 XAML 中可用,请在创建根可视元素前将当前 WebContext 实例添加到 Application.Startup 事件中的应用程序资源。
下面的示例显示如何将 WebContext 实例添加为应用程序资源:
Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup Me.Resources.Add("WebContext", WebContext.Current) Me.RootVisual = New MainPage() End Sub
private void Application_Startup(object sender, StartupEventArgs e) { this.Resources.Add("WebContext", WebContext.Current); this.RootVisual = new MainPage(); }
使用声明性语法,您可以检索配置文件属性。下面的示例显示如何在 XAML 中检索配置文件属性:
<TextBlock Text={Binding Source={StaticResource WebContext}, Path=User.FriendlyName}"/>
另请参见
任务
演练:将身份验证服务用于 Silverlight 导航应用程序
演练:将身份验证服务用于 Silverlight 业务应用程序