ProfileModule.Personalize 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在创建用户配置文件之前发生。
public:
event System::Web::Profile::ProfileEventHandler ^ Personalize;
public event System.Web.Profile.ProfileEventHandler Personalize;
member this.Personalize : System.Web.Profile.ProfileEventHandler
Public Custom Event Personalize As ProfileEventHandler
事件类型
示例
下面的代码示例演示在 Personalize 应用程序的 Global.asax 文件中声明的事件。 事件代码基于角色成员身份为用户加载用户配置文件。
public void Profile_Personalize(object sender, ProfileEventArgs args)
{
ProfileCommon userProfile;
if (User == null) { return; }
userProfile = (ProfileCommon)ProfileBase.Create(User.Identity.Name);
if (User.IsInRole("Administrators"))
userProfile = userProfile.GetProfile("Administrator");
else
if (User.IsInRole("Users"))
userProfile = userProfile.GetProfile("User");
else
userProfile = userProfile.GetProfile("Guest");
if (userProfile != null)
args.Profile = userProfile;
}
Public Sub Profile_Personalize(sender As Object, args As ProfileEventArgs)
Dim userProfile As ProfileCommon
If User Is Nothing Then Return
userProfile = CType(ProfileBase.Create(User.Identity.Name), ProfileCommon)
If User.IsInRole("Administrators") Then
userProfile = userProfile.GetProfile("Administrator")
Else
If User.IsInRole("Users") Then
userProfile = userProfile.GetProfile("User")
Else
userProfile = userProfile.GetProfile("Guest")
End If
End If
If Not userProfile Is Nothing Then _
args.Profile = userProfile
End Sub
注解
事件 Personalize 在事件期间 HttpApplication.AcquireRequestState 引发。 可以使用全局事件ProfileModule在 ASP.NET 应用程序的 Profile_Personalize
Global.asax 文件中访问 Personalize 类的事件,如本主题的示例所示。
可以使用 Personalize 事件来指定自定义用户配置文件。
ProfileEventArgs.Profile如果为ProfileEventHandler事件Personalize事件处理程序指定的属性值设置为事件结束时未null
Personalize指定的值,则将ProfileModule使用 属性的ProfileEventArgs.Profile指定值作为当前 HttpContext的 属性的值Profile。