如何:在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 { get ; set ; }
}
|
从客户端访问个性化属性
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 >
|