Compartilhar via


ProfileModule.MigrateAnonymous Evento

Definição

Ocorre quando o usuário anônimo de um perfil faz logon.

public:
 event System::Web::Profile::ProfileMigrateEventHandler ^ MigrateAnonymous;
public event System.Web.Profile.ProfileMigrateEventHandler MigrateAnonymous;
member this.MigrateAnonymous : System.Web.Profile.ProfileMigrateEventHandler 
Public Custom Event MigrateAnonymous As ProfileMigrateEventHandler 

Tipo de evento

Exemplos

O exemplo a seguir mostra um arquivo 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

Você pode acessar o MigrateAnonymous evento da ProfileModule classe no arquivo Global.asax para seu aplicativo ASP.NET usando o Profile_MigrateAnonymous evento global, 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 um usuário 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 . Acessadores fortemente tipados são adicionados à ProfileCommon classe para cada propriedade definida na seção de configuração de <perfil> . Um GetProfile método permite que você recupere um ProfileCommon objeto com base em um nome de usuário. Você pode usar o GetProfile método do perfil atual autenticado 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.

Aplica-se a

Confira também