ProfileMigrateEventHandler Temsilci

Tanım

sınıfının olayını ProfileModule işleyecek MigrateAnonymous yöntemi temsil eder.

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)

Parametreler

sender
Object

Olayı ProfileModule tetikleyen MigrateAnonymous .

e
ProfileMigrateEventArgs

ProfileMigrateEventArgs Olay verilerini içeren bir.

Örnekler

Aşağıdaki kod örnekleri anonim kimlik doğrulamasını MigrateAnonymous etkinleştiren bir Web.config dosyasını ve ASP.NET bir uygulama için Global.asax dosyasına dahil edilen olayı gösterir.

Aşağıdaki kod örneği anonim kullanıcıları destekleyen anonim kimlik ve profil özelliklerini etkinleştiren bir Web.config dosyası gösterir.

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

Aşağıdaki kod örneği, bir ASP.NET uygulaması için Global.asax dosyasına dahil edilen olayı gösterir MigrateAnonymous . Olay, MigrateAnonymous profil özelliği değerlerini anonim profilden geçerli kullanıcının profiline kopyalar.

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

Açıklamalar

Temsilci ProfileMigrateEventHandler , sınıfın MigrateAnonymous olayı ProfileModule için tanımlanır. Sınıfın olayına MigrateAnonymousProfileModule , bu konudaki örnekte gösterildiği gibi ASP.NET uygulamanızın Global.asax dosyasında erişebilirsiniz.

Uygulamanızı anonim olarak kullanan biri oturum açtığında, anonim profildeki profil özelliği değerlerini kimliği doğrulanmış bir profile kopyalamak için olayını kullanabilirsiniz MigrateAnonymous .

Kullanıcı profilinin etkinleştirildiği bir uygulama başlatıldığında, ASP.NET sınıfından ProfileBase devralan yeni bir tür ProfileCommonsınıfı oluşturur. ProfileCommon sınıf oluşturulduğunda, Web.config dosyasında belirtilen profil özelliklerine bağlı olarak, kullanıcı GetProfile adına göre bir nesne almanıza olanak tanıyan bir ProfileCommon yöntem eklenir. Anonim profilin GetProfile özellik değerlerini almak için geçerli profilin yöntemini kullanabilirsiniz. Anonim özellik değerleri daha sonra kimliği doğrulanmış kullanıcının geçerli profiline kopyalanabilir.

Uzantı Metotları

GetMethodInfo(Delegate)

Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır.

Şunlara uygulanır

Ayrıca bkz.