Compartilhar via


ProfileMigrateEventHandler Delegar

Definição

Representa o método que manipulará o evento MigrateAnonymous da 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)

Parâmetros

sender
Object

O ProfileModule que gerou o evento MigrateAnonymous.

e
ProfileMigrateEventArgs

Um ProfileMigrateEventArgs que contém os dados do evento.

Exemplos

Os exemplos de código a seguir mostram um arquivo Web.config que habilita a autenticação anônima e o MigrateAnonymous evento incluído no arquivo Global.asax para um aplicativo ASP.NET.

O exemplo de código a seguir mostra um arquivo de Web.config que permite a identificação anônima e as propriedades de perfil que dão suporte a usuários anônimos.

<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>  

O exemplo de código a seguir mostra o MigrateAnonymous evento incluído no arquivo Global.asax para um aplicativo ASP.NET. O MigrateAnonymous evento copia valores de propriedade de perfil do perfil anônimo para o perfil do usuário atual.

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

Comentários

O ProfileMigrateEventHandler delegado é definido para o MigrateAnonymous evento da ProfileModule classe . Você pode acessar o MigrateAnonymous evento da ProfileModule classe no arquivo Global.asax para seu aplicativo ASP.NET, conforme mostrado no exemplo deste tópico.

Você pode usar o MigrateAnonymous evento para copiar valores de propriedade de perfil de um perfil anônimo para um perfil autenticado quando alguém que está usando anonimamente seu aplicativo faz logon.

Quando um aplicativo que tem o perfil de usuário habilitado é iniciado, ASP.NET cria uma nova classe do tipo ProfileCommon, que herda da ProfileBase classe . Quando a ProfileCommon classe é gerada, com base nas propriedades de perfil especificadas no arquivo Web.config, um GetProfile método é adicionado que permite recuperar um ProfileCommon objeto com base em um nome de usuário. Você pode usar o GetProfile método do perfil atual para recuperar os valores de propriedade do perfil anônimo. Em seguida, os valores de propriedade anônima podem ser copiados para o perfil atual do usuário autenticado.

Métodos de Extensão

GetMethodInfo(Delegate)

Obtém um objeto que representa o método representado pelo delegado especificado.

Aplica-se a

Confira também