Поделиться через


ProfileEventHandler Делегат

Определение

Представляет метод, обрабатывающий событие 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.

e
ProfileEventArgs

Объект 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 класса . Вы можете получить доступ к событию PersonalizeProfileModule класса в файле Global.asax для приложения ASP.NET с помощью глобального Profile_Personalize события, как показано в примере для этого раздела.

Событие можно использовать для Personalize указания пользовательского профиля. Profile Если свойство параметра, ProfileEventArgs указанного Personalize для события, ProfileEventHandler имеет значение, отличное от NULL, после Personalize завершения события , то ProfileModule будет использовать это значение для Profile свойства текущего HttpContextобъекта .

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.

Применяется к

См. также раздел