Condividi tramite


ProfileEventHandler Delegato

Definizione

Rappresenta il metodo che gestirà l'evento Personalize di un oggetto 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)

Parametri

sender
Object

Elemento ProfileModule che ha generato l'evento Personalize.

e
ProfileEventArgs

Oggetto ProfileEventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene illustrato l'evento Personalize dichiarato nel file Global.asax per un'applicazione. Il codice evento carica un profilo utente per un utente in base all'appartenenza al ruolo.

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

Commenti

Il ProfileEventHandler delegato viene definito per l'evento Personalize della ProfileModule classe . È possibile accedere all'evento Personalize della ProfileModule classe nel file Global.asax per l'applicazione ASP.NET usando l'evento Profile_Personalize globale, come illustrato nell'esempio per questo argomento.

È possibile usare l'evento Personalize per specificare un profilo utente personalizzato. Se la Profile proprietà del ProfileEventArgs parametro specificato per l'evento Personalize è impostata su un valore non Null al termine dell'evento ProfileEventHandlerPersonalize , ProfileModule userà tale valore per la Profile proprietà dell'oggetto corrente HttpContext.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Vedi anche