Condividi tramite


ProfileMigrateEventHandler Delegato

Definizione

Rappresenta il metodo che gestirà l'evento MigrateAnonymous della classe ProfileModule.

public delegate void ProfileMigrateEventHandler(System::Object ^ sender, ProfileMigrateEventArgs ^ e);
public delegate void ProfileMigrateEventHandler(object sender, ProfileMigrateEventArgs e);
type ProfileMigrateEventHandler = delegate of obj * ProfileMigrateEventArgs -> unit
Public Delegate Sub ProfileMigrateEventHandler(sender As Object, e As ProfileMigrateEventArgs)

Parametri

sender
Object

Elemento ProfileModule che ha generato l'evento MigrateAnonymous.

e
ProfileMigrateEventArgs

Oggetto ProfileMigrateEventArgs che contiene i dati dell'evento.

Esempio

Gli esempi di codice seguenti illustrano un file Web.config che abilita l'autenticazione anonima e l'evento MigrateAnonymous incluso nel file Global.asax per un'applicazione ASP.NET.

Nell'esempio di codice seguente viene illustrato un file di Web.config che abilita le proprietà di identificazione e profilo anonime che supportano gli utenti anonimi.

<configuration>  
  <system.web>  
    <authentication mode="Forms" >  
      <forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" />  
    </authentication>  

    <anonymousIdentification enabled="true" />  

    <profile enabled="true" defaultProvider="AspNetSqlProvider">  
      <properties>  
        <add name="ZipCode" allowAnonymous="true" />  
        <add name="CityAndState" allowAnonymous="true" />  
        <add name="StockSymbols" type="System.Collections.ArrayList" allowAnonymous="true" />  
      </properties>  
    </profile>  
   </system.web>  
</configuration>  

Nell'esempio di codice seguente viene illustrato l'evento MigrateAnonymous incluso nel file Global.asax per un'applicazione ASP.NET. L'evento MigrateAnonymous copia i valori delle proprietà del profilo dal profilo anonimo al profilo per l'utente corrente.

public void Profile_OnMigrateAnonymous(object sender, ProfileMigrateEventArgs args)
{
  ProfileCommon anonymousProfile = Profile.GetProfile(args.AnonymousID);

  Profile.ZipCode = anonymousProfile.ZipCode;
  Profile.CityAndState = anonymousProfile.CityAndState;
  Profile.StockSymbols = anonymousProfile.StockSymbols;

  ////////
  // Delete the anonymous profile. If the anonymous ID is not 
  // needed in the rest of the site, remove the anonymous cookie.

  ProfileManager.DeleteProfile(args.AnonymousID);
  AnonymousIdentificationModule.ClearAnonymousIdentifier(); 

  // Delete the user row that was created for the anonymous user.
  Membership.DeleteUser(args.AnonymousID, true);

}
Public Sub Profile_OnMigrateAnonymous(sender As Object, args As ProfileMigrateEventArgs)
  Dim anonymousProfile As ProfileCommon = Profile.GetProfile(args.AnonymousID)

  Profile.ZipCode = anonymousProfile.ZipCode
  Profile.CityAndState = anonymousProfile.CityAndState
  Profile.StockSymbols = anonymousProfile.StockSymbols

  ''''''''
  ' Delete the anonymous profile. If the anonymous ID is not 
  ' needed in the rest of the site, remove the anonymous cookie.

  ProfileManager.DeleteProfile(args.AnonymousID)
  AnonymousIdentificationModule.ClearAnonymousIdentifier()

  ' Delete the user row that was created for the anonymous user.
  Membership.DeleteUser(args.AnonymousID, True)
End Sub

Commenti

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

È possibile usare l'evento MigrateAnonymous per copiare i valori delle proprietà del profilo da un profilo anonimo a un profilo autenticato quando un utente che usa in modo anonimo i log dell'applicazione.

Quando viene avviata un'applicazione con il profilo utente abilitato, ASP.NET crea una nuova classe di tipo ProfileCommon, che eredita dalla ProfileBase classe . Quando la ProfileCommon classe viene generata, in base alle proprietà del profilo specificate nel file di Web.config, viene aggiunto un GetProfile metodo che consente di recuperare un ProfileCommon oggetto in base a un nome utente. È possibile utilizzare il GetProfile metodo del profilo corrente per recuperare i valori delle proprietà del profilo anonimo. I valori delle proprietà anonime possono quindi essere copiati nel profilo corrente per l'utente autenticato.

Metodi di estensione

GetMethodInfo(Delegate)

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

Si applica a

Vedi anche