다음을 통해 공유


ProfileModule.Personalize 이벤트

정의

사용자 프로필을 만들기 전에 발생합니다.

public:
 event System::Web::Profile::ProfileEventHandler ^ Personalize;
public event System.Web.Profile.ProfileEventHandler Personalize;
member this.Personalize : System.Web.Profile.ProfileEventHandler 
Public Custom Event Personalize As ProfileEventHandler 

이벤트 유형

예제

다음 코드 예제에서는 애플리케이션에 Personalize 대 한 Global.asax 파일에 선언 된 이벤트를 보여 냅니다. 이벤트 코드는 역할 멤버 자격에 따라 사용자에 대한 사용자 프로필을 로드합니다.

public void Profile_Personalize(object sender, ProfileEventArgs args)
{
  ProfileCommon userProfile;

  if (User == null) { return; }

  userProfile = (ProfileCommon)ProfileBase.Create(User.Identity.Name);

  if (User.IsInRole("Administrators"))
    userProfile = userProfile.GetProfile("Administrator");
  else
    if (User.IsInRole("Users"))
      userProfile = userProfile.GetProfile("User");
    else
      userProfile = userProfile.GetProfile("Guest");

  if (userProfile != null)
    args.Profile = userProfile;
}
Public Sub Profile_Personalize(sender As Object, args As ProfileEventArgs)
  Dim userProfile As ProfileCommon

  If User Is Nothing Then Return

  userProfile = CType(ProfileBase.Create(User.Identity.Name), ProfileCommon)

  If User.IsInRole("Administrators") Then
    userProfile = userProfile.GetProfile("Administrator")
  Else
    If User.IsInRole("Users") Then
      userProfile = userProfile.GetProfile("User")
    Else
      userProfile = userProfile.GetProfile("Guest")
    End If
  End If

  If Not userProfile Is Nothing Then _
    args.Profile = userProfile
End Sub

설명

이벤트는 Personalize 이벤트 중에 발생합니다 HttpApplication.AcquireRequestState . 이 항목의 ProfileModule 예제와 같이 전역 이벤트를 사용하여 Profile_Personalize ASP.NET 애플리케이션에 대한 Global.asax 파일의 클래스 이벤트에 액세스할 Personalize 수 있습니다.

이벤트를 Personalize 사용하여 사용자 지정 사용자 프로필을 지정할 수 있습니다. ProfileEventArgs.Profile 이벤트 처리기에 Personalize 대해 ProfileEventHandler 지정된 속성 값이 이벤트가 종료 ProfileModule 될 때가 Personalize 아닌 null 값으로 설정된 경우 지정된 속성 값을 ProfileEventArgs.Profile 현재 HttpContext속성의 Profile 값으로 사용합니다.

적용 대상