Personalizzare il contenuto del profilo con l'evento Personalize

di Marco Leoncini, in ASP.NET 2.0,

Il ProfileModule si fa carico per ogni richiesta di recuperare l'oggetto con il profilo associato all'utente corrente, operazione durante la quale genera l'evento Personalize, il cui event handler riceve come argomenti l'oggetto che ha generato l'evento (il ProfileModule) ed un'istanza di tipo ProfileEventArgs.

La classe ProfileEventArgs espone una proprietà di tipo ProfileBase chiamata Profile, che normalmente non viene utilizzata perchè non valorizzata.
Gestendo invece l'evento Personalize è possibile assegnare un valore che sarà poi utilizzato sia nel contesto (HttpContext) che nella proprietà di tipo ProfileCommon della pagina presente quando il Profile è abilitato.

È possibile gestire l'evento Personalize a livello di applicazione, aggiungendo ad esempio nel Global.asax un event handler con la seguente firma:

public void Profile_Personalize(object sender, ProfileEventArgs args)
{
  if(!User.Identity.IsAuthenticated)
  {
    args.Profile = ProfileBase.Create("NotAuthenticated");
  }
  else
  {
    args.Profile = ProfileBase.Create("Authenticated");
  }
}

Nell'esempio precedente l'evento Personalize è utilizzato per fare uso solamente di due distinti Profile, a seconda che l'utente sia autenticato o meno, condividendoli e cambiando l'implementazione originale, che vuole un profilo per ogni utente.

Approfondimenti

http://tags.aspitalia.com/Profile_API/

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi