ProfileModule.MigrateAnonymous Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.