Udostępnij za pośrednictwem


ProfileModule.MigrateAnonymous Zdarzenie

Definicja

Występuje, gdy anonimowy użytkownik logowania profilu.

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 

Typ zdarzenia

Przykłady

W poniższym przykładzie przedstawiono plik Web.config, który umożliwia identyfikację anonimową i właściwości profilu, które obsługują użytkowników anonimowych.

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

Poniższy przykład kodu przedstawia MigrateAnonymous zdarzenie zawarte w pliku Global.asax dla aplikacji ASP.NET. Zdarzenie MigrateAnonymous kopiuje wartości właściwości profilu z profilu anonimowego do profilu bieżącego użytkownika.

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

Uwagi

Dostęp do zdarzenia ProfileModule klasy w pliku Global.asax dla aplikacji ASP.NET można uzyskać MigrateAnonymous przy użyciu zdarzenia globalnegoProfile_MigrateAnonymous, jak pokazano w przykładzie tego tematu.

Zdarzenie służy MigrateAnonymous do kopiowania wartości właściwości profilu z profilu anonimowego do profilu uwierzytelnionego, gdy użytkownik, który był anonimowo przy użyciu logowania aplikacji.

Po uruchomieniu aplikacji z włączonym profilem użytkownika ASP.NET tworzy nową klasę typu ProfileCommon, która dziedziczy z ProfileBase klasy . Silnie typizowane metody dostępu są dodawane do ProfileCommon klasy dla każdej właściwości zdefiniowanej <w sekcji konfiguracji profilu> . GetProfile Metoda umożliwia pobranie ProfileCommon obiektu na podstawie nazwy użytkownika. Możesz użyć GetProfile metody bieżącego, uwierzytelnionego profilu, aby pobrać wartości właściwości profilu anonimowego. Wartości właściwości anonimowych można następnie skopiować do bieżącego profilu dla uwierzytelnionego użytkownika.

Dotyczy

Zobacz też