ProfileModule.MigrateAnonymous Evento

Definição

Ocorre quando o utilizador anónimo de um perfil faz login.

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 seguinte mostra um ficheiro Web.config que permite identificação anónima e propriedades de perfil que suportam utilizadores 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 seguinte mostra o evento MigrateAnonymous incluído no ficheiro Global.asax para uma aplicação ASP.NET. O MigrateAnonymous evento copia os valores das propriedades do perfil anónimo para o perfil do utilizador 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

Observações

Pode aceder ao evento MigrateAnonymous da classe ProfileModule no ficheiro Global.asax da sua aplicação ASP.NET usando o evento global Profile_MigrateAnonymous, como mostrado no exemplo deste tópico.

Pode usar o MigrateAnonymous evento para copiar valores de propriedades de perfil de um perfil anónimo para um perfil autenticado quando um utilizador que tem usado anonimamente a sua aplicação iniciar sessão.

Quando uma aplicação que tem o perfil de utilizador ativado é iniciada, ASP.NET cria uma nova classe de tipo ProfileCommon, que herda da classe ProfileBase. Acessórios fortemente tipados são adicionados à ProfileCommon classe para cada propriedade definida na <secção de configuração do perfil> . Um GetProfile método permite-lhe recuperar um ProfileCommon objeto com base num nome de utilizador. Pode usar o GetProfile método do perfil atual e autenticado para recuperar os valores das propriedades do perfil anónimo. Os valores anónimos das propriedades podem então ser copiados para o perfil atual do utilizador autenticado.

Aplica-se a

Ver também