ProfileModule.MigrateAnonymous Événement

Définition

Se produit lorsque l'utilisateur anonyme pour un profil se connecte.

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 

Type d'événement

Exemples

L’exemple suivant montre un fichier Web.config qui active l’identification anonyme et les propriétés de profil qui prennent en charge les utilisateurs anonymes.

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

L’exemple de code suivant montre l’événement MigrateAnonymous inclus dans le fichier Global.asax pour une application ASP.NET. L’événement MigrateAnonymous copie les valeurs de propriété de profil du profil anonyme vers le profil de l’utilisateur actuel.

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

Remarques

Vous pouvez accéder à l’événement MigrateAnonymous de la ProfileModule classe dans le fichier Global.asax de votre application ASP.NET à l’aide de l’événement Profile_MigrateAnonymous global, comme indiqué dans l’exemple de cette rubrique.

Vous pouvez utiliser l’événement pour copier les MigrateAnonymous valeurs des propriétés de profil d’un profil anonyme vers un profil authentifié lorsqu’un utilisateur qui utilise anonymement votre application se connecte.

Lorsqu’une application pour laquelle le profil utilisateur est activé est démarrée, ASP.NET crée une classe de type ProfileCommon, qui hérite de la ProfileBase classe . Des accesseurs fortement typés sont ajoutés à la ProfileCommon classe pour chaque propriété définie dans la section configuration du <profil> . Une GetProfile méthode vous permet de récupérer un ProfileCommon objet basé sur un nom d’utilisateur. Vous pouvez utiliser la GetProfile méthode du profil authentifié actuel pour récupérer les valeurs de propriété du profil anonyme. Les valeurs de propriété anonyme peuvent ensuite être copiées dans le profil actuel de l’utilisateur authentifié.

S’applique à

Voir aussi