ProfileModule.MigrateAnonymous Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastane, když se anonymní uživatel profilu přihlásí.
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
Event Type
Příklady
Následující příklad ukazuje soubor Web.config, který umožňuje anonymní identifikaci a vlastnosti profilu, které podporují anonymní uživatele.
<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>
Následující příklad kódu ukazuje událost obsaženou MigrateAnonymous v souboru Global.asax pro ASP.NET aplikaci. Událost MigrateAnonymous zkopíruje hodnoty vlastností profilu z anonymního profilu do profilu aktuálního uživatele.
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
Poznámky
K události ProfileModule třídy v souboru Global.asax pro aplikaci ASP.NET můžete přistupovat MigrateAnonymous pomocí Profile_MigrateAnonymous
globální události, jak je znázorněno v příkladu pro toto téma.
Událost můžete použít MigrateAnonymous ke zkopírování hodnot vlastností profilu z anonymního profilu do ověřeného profilu, když se uživatel, který anonymním způsobem používá vaši aplikaci, přihlásí.
Při spuštění aplikace s povoleným profilem uživatele ASP.NET vytvoří novou třídu typu ProfileCommon
, která dědí z ProfileBase třídy. Přístupové objekty silného ProfileCommon
typu jsou přidány do třídy pro každou vlastnost definovanou <v části konfigurace profilu> . Metoda GetProfile
umožňuje načíst ProfileCommon
objekt na základě uživatelského jména. K načtení hodnot vlastností anonymního profilu můžete použít GetProfile
metodu aktuálního ověřeného profilu. Hodnoty anonymní vlastnosti se pak dají zkopírovat do aktuálního profilu ověřeného uživatele.