Sdílet prostřednictvím


ProfileMigrateEventHandler Delegát

Definice

Představuje metodu, která bude zpracovávat MigrateAnonymous událost ProfileModule třídy.

public delegate void ProfileMigrateEventHandler(System::Object ^ sender, ProfileMigrateEventArgs ^ e);
public delegate void ProfileMigrateEventHandler(object sender, ProfileMigrateEventArgs e);
type ProfileMigrateEventHandler = delegate of obj * ProfileMigrateEventArgs -> unit
Public Delegate Sub ProfileMigrateEventHandler(sender As Object, e As ProfileMigrateEventArgs)

Parametry

sender
Object

Událost ProfileModule , která vyvolala MigrateAnonymous událost.

e
ProfileMigrateEventArgs

A ProfileMigrateEventArgs , který obsahuje data události.

Příklady

Následující příklady kódu ukazují soubor Web.config, který umožňuje anonymní ověřování, a MigrateAnonymous událost obsaženou v souboru Global.asax pro ASP.NET aplikaci.

Následující příklad kódu 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

Delegát ProfileMigrateEventHandler je definován pro MigrateAnonymous událost ProfileModule třídy. Můžete získat přístup k MigrateAnonymous události ProfileModule třídy v souboru Global.asax pro aplikaci ASP.NET, 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 přihlásí někdo, kdo anonymně používá vaši aplikaci.

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. ProfileCommon Při generování třídy na základě vlastností profilu zadaných v souboru Web.config je přidána metoda, GetProfile která 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 profilu. Hodnoty anonymní vlastnosti se pak dají zkopírovat do aktuálního profilu ověřeného uživatele.

Metody rozšíření

GetMethodInfo(Delegate)

Získá objekt, který představuje metodu reprezentovanou zadaným delegátem.

Platí pro

Viz také