Compartir vía


ProfileEventHandler Delegado

Definición

Representa el método que controlará el evento Personalize de 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)

Parámetros

sender
Object

La clase ProfileModule que provocó el evento Personalize.

e
ProfileEventArgs

Objeto ProfileEventArgs que contiene los datos del evento.

Ejemplos

En el ejemplo de código siguiente se muestra el Personalize evento declarado en el archivo Global.asax para una aplicación. El código de evento carga un perfil de usuario para un usuario basado en la pertenencia a roles.

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

Comentarios

El ProfileEventHandler delegado se define para el Personalize evento de la ProfileModule clase . Puede acceder al Personalize evento de la ProfileModule clase en el archivo Global.asax de la aplicación ASP.NET mediante el Profile_Personalize evento global, como se muestra en el ejemplo de este tema.

Puede usar el Personalize evento para especificar un perfil de usuario personalizado. Si la Profile propiedad del ProfileEventArgs parámetro especificado para el Personalize evento ProfileEventHandler se establece en un valor distinto de NULL cuando se complete el Personalize evento, usará ProfileModule ese valor para la Profile propiedad del objeto actual HttpContext.

Métodos de extensión

GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.

Se aplica a

Consulte también