如何:在 RIA Services 中启用配置文件

本主题演示在以前启用了身份验证的情况下如何在 WCF RIA Services 解决方案中启用配置文件。使用配置文件,可以检索并保存用户的属性。RIA Services 中的配置文件依赖 ASP.NET 中的配置文件框架。有关 ASP.NET 配置文件的更多信息,请参见 ASP.NET Profile Properties Overview(ASP.NET 配置文件属性概述)。

只有在用户通过身份验证后才可以检索或保存用户配置文件属性。有关为身份验证配置服务器和客户端项目的信息,请参见如何:在 RIA Services 中启用身份验证

配置服务器项目

  1. 在服务器项目中,打开 Web.config 文件。

  2. <system.web> 部分中,添加一个 <profile> 元素。

  3. <profile> 元素中,添加配置文件属性。

    下面的示例显示如何启用配置文件并定义一个名为 FriendlyName 的属性:

    <system.web>
      <authentication mode="Forms"></authentication>
      <profile enabled="true">
        <properties>
          <add name="FriendlyName"/>
        </properties>
      </profile>
    </system.web>
    
  4. 打开包含身份验证服务的 User 类的文件。

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

从客户端项目访问配置文件属性

  1. 在 Silverlight 客户端项目中,打开代码隐藏页。

  2. 在代码隐藏页中,针对 WebContext 当前实例的 User 对象设置或检索配置文件属性。

    下面的示例显示如何在代码隐藏文件中设置配置文件属性:

    WebContext.Current.User.FriendlyName = "Mike"
    
    WebContext.Current.User.FriendlyName = "Mike";
    
  3. 如果要使 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 业务应用程序