Silverlight WCF RIA服务(三十三)身份验证、角色、个性化 4

如何:在RIA Services中允许个性化功能 使用个性化功能,我们可以为用户检索和保存属性。WCF RIA Services中的个性化功能建立在ASP.NET的个性化框架上。 我们只能在用户验证后检索或保存个性化属性。
  

如何:在RIA Services中允许个性化功能
使用个性化功能,我们可以为用户检索和保存属性。WCF RIA Services中的个性化功能建立在ASP.NET的个性化框架上。
我们只能在用户验证后检索或保存个性化属性。

配置服务端项目
1. 在服务端项目中,打开Web.config文件。
2. 在 段内,添加  元素。
3. 在  元素内,添加个性化属性。下面示例如何创建个性化以及定义一个名为FriendlyName的属性。
 

?
1
2
3
4
5
6
7
8
9
10
<SYSTEM.WEB>
  <AUTHENTICATION  mode="Forms"></AUTHENTICATION>
  <PROFILE  enabled="true">
    <PROPERTIES>
      <ADD  name="FriendlyName"  />
    </PROPERTIES>
  </PROFILE>
</SYSTEM.WEB>


4. 为验证服务打开包含User类的文件。
5. 在User类中,添加我们已在Web.config文件中添加过的个性化属性。
 

?
1
2
3
4
5
6
public  partial  class  User : UserBase
{
    public  string  FriendlyName { getset; }
}



从客户端访问个性化属性
1. 在Silverlight客户端项目中,打开后台代码页面。
2. 在后台代码页面中,设置或检索当前WebContext实例的User对象上的个性化属性。
 

?
1
2
3
WebContext.Current.User.FriendlyName = "Mike";


3. 如果想让WebContext对象在XAML中可用,那么在创建RootVisual之前,在Application.Startup事件中把当前WebContext实例添加到应用程序资源中。
 

?
1
2
3
4
5
6
7
private  void  Application_Startup(object  sender, StartupEventArgs e)
{
    this.Resources.Add("WebContext", WebContext.Current);
    this.RootVisual = new  MainPage();
}


通过声明性语法,我们也可以检索个性化属性。示例如下:
 

?
1
2
3
4
<TEXTBLOCK  Text="{Binding Source={StaticResource WebContext},Path=User.FriendlyName}">
</TEXTBLOCK>

 

你可能感兴趣的:(silverlight)