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


ProfileModule Класс

Определение

Управляет созданием профиля пользователя и событиями профиля. Этот класс не наследуется.

public ref class ProfileModule sealed : System::Web::IHttpModule
public sealed class ProfileModule : System.Web.IHttpModule
type ProfileModule = class
    interface IHttpModule
Public NotInheritable Class ProfileModule
Implements IHttpModule
Наследование
ProfileModule
Реализации

Примеры

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

Комментарии

Если профиль пользователя включен, ASP.NET использует ProfileModule для создания профиля пользователя и сохранения его в Profile свойстве текущего HttpContextобъекта .

Предоставляет ProfileModule следующие события, которые можно обработать для настройки проверки подлинности в приложении:

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

  • Событие Personalize для настройки способа создания профиля пользователя.

  • Событие ProfileAutoSaving для управления сохранением профиля пользователя, если свойству AutomaticSaveEnabled присвоено значение true.

Сведения о включении профиля пользователя см. в разделе Profile Element (ASP.NET Settings Schema).

Конструкторы

ProfileModule()

Инициализирует новый экземпляр класса ProfileModule.

Методы

Dispose()

Освобождает все ресурсы, занятые модулем ProfileModule.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
Init(HttpApplication)

Вызывает код инициализации после создания объекта ProfileModule.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

MigrateAnonymous

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

Personalize

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

ProfileAutoSaving

Происходит при завершении выполнения страницы, если включено автоматическое сохранение профиля.

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

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