Поделиться через


ProfileMigrateEventArgs.AnonymousID Свойство

Определение

Получает анонимный идентификатор для анонимного профиля, из которого требуется выполнить миграцию значений свойств профиля.

public:
 property System::String ^ AnonymousID { System::String ^ get(); };
public string AnonymousID { get; }
member this.AnonymousID : string
Public ReadOnly Property AnonymousID As String

Значение свойства

Анонимный идентификатор для анонимного профиля, из которого требуется выполнить миграцию значений свойств профиля.

Примеры

В следующих примерах кода показан файл Web.config, который включает анонимную проверку подлинности и MigrateAnonymous событие, включенное в файл Global.asax для приложения ASP.NET.

В следующем примере кода показан файл Web.config, который обеспечивает анонимную идентификацию и свойства профиля, поддерживающие анонимных пользователей.

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

В следующем примере кода показано MigrateAnonymous событие, включенное в файл Global.asax для приложения ASP.NET. Событие MigrateAnonymous копирует значения свойств профиля из анонимного профиля в профиль текущего пользователя.

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

Комментарии

Свойство AnonymousID содержит уникальный идентификатор анонимного пользователя. Когда пользователь, использующий ваше приложение, анонимно входит в систему, вы можете обработать MigrateAnonymous событие для копирования значений свойств профиля из анонимного профиля пользователя в профиль, прошедший проверку подлинности.

При запуске приложения, в котором включен профиль пользователя, ASP.NET создает новый класс типа ProfileCommon, который наследуется от ProfileBase класса и включает свойства профиля, указанные в файле Web.config. ProfileCommon При создании класса добавляется метод , GetProfile позволяющий получить ProfileCommon объект на основе имени пользователя. Для получения значений GetProfile свойств анонимного профиля можно использовать метод текущего профиля. Затем значения анонимных свойств можно скопировать в текущий профиль пользователя, прошедшего проверку подлинности. Пример копирования анонимных значений свойств см. во втором примере кода.

Применяется к

См. также раздел