ProfileEventHandler 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示将用来处理 Personalize 的 ProfileModule 事件的方法。
public delegate void ProfileEventHandler(System::Object ^ sender, ProfileEventArgs ^ e);
public delegate void ProfileEventHandler(object sender, ProfileEventArgs e);
type ProfileEventHandler = delegate of obj * ProfileEventArgs -> unit
Public Delegate Sub ProfileEventHandler(sender As Object, e As ProfileEventArgs)
参数
- sender
- Object
引发 ProfileModule 事件的 Personalize。
包含事件数据的 ProfileEventArgs。
示例
下面的代码示例演示在 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
注解
委托 ProfileEventHandler 是为 Personalize 类的 ProfileModule 事件定义的。 可以使用全局 Personalize 事件 ProfileModule 在 ASP.NET 应用程序的 Profile_Personalize
Global.asax 文件中访问 类的事件,如本主题的示例所示。
可以使用 Personalize 事件来指定自定义用户配置文件。 Profile如果在事件完成时Personalize为Personalize事件指定的 参数的 ProfileEventHandler 属性ProfileEventArgs设置为非空值,则将ProfileModule对当前 HttpContext的 属性使用该值Profile。
扩展方法
GetMethodInfo(Delegate) |
获取指示指定委托表示的方法的对象。 |