Le nuove capacità di Profiling di ASP.NET 2.0 sono una feature
molto apprezzabile anche in considerazione del fatto che sono in grado di
gestire anche i profili anonimi, cioè consentono di persistere le impostazioni
di profilazione anche per gli utenti che ancora non sono autenticati. Questo ad
esempio torna utile nel momento in cui è necessario consentire la selezione
della lingua anche ad un navigatore che non si è ancora registrato. Esiste però
un piccolo problema per capire il quale vi farò un semplice esempio: immaginate
di utilizzare il profilo anonimo appunto per persistere la lingua selezionata in
un portale. Ora è evidente che qualora un utente anonimo imposti la lingua e in
seguito si autentichi al portale, l'impostazione selezionata dovrà essere
trasportata verso il profile autenticato. Per compiere questa migrazione esiste
un evento apposito, gestibile nel global.asax in questo modo:
public void Profile_OnMigrateAnonymous(
object sender,
ProfileMigrateEventArgs args)
{
ProfileCommon anonymousProfile =
Profile.GetProfile(args.AnonymousID);
Profile.Culture = anonymousProfile.Culture;
ProfileManager.DeleteProfile(args.AnonymousID);
AnonymousIdentificationModule.ClearAnonymousIdentifier();
}
L'esempio è reperibile anche nella documentazione MSDN ma
non è del tutto evidente.
powered by IMHO 1.3