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


ProfileMigrateEventHandler Делегат

Определение

Представляет метод, обрабатывающий событие MigrateAnonymous класса ProfileModule.

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)

Параметры

sender
Object

Объект ProfileModule, сгенерировавший событие MigrateAnonymous.

e
ProfileMigrateEventArgs

Объект ProfileMigrateEventArgs, содержащий данные события.

Примеры

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

Комментарии

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

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

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

Методы расширения

GetMethodInfo(Delegate)

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

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

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