Язык

ProfileModule.MigrateAnonymous Событие

Определение

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

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 

Тип события

Примеры

В следующем примере показан файл 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

Комментарии

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

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

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

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

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