다음을 통해 공유


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 이벤트입니다. 액세스할 수 있습니다는 Personalize 의 이벤트를 ProfileModule 사용 하 여 ASP.NET 애플리케이션의 Global.asax 파일에서 클래스를 Profile_Personalize 이 항목의 예제와 같이 전역 이벤트입니다.

사용할 수는 Personalize 사용자 프로필을 지정 하는 이벤트입니다. 경우는 ProfileEventArgs.Profile 속성 값에 대해 지정 된를 ProfileEventHandler 에 대 한 이벤트 처리기를 Personalize 이벤트 없는 값으로 설정 되어 null 때를 Personalize 이벤트가 종료 되는 ProfileModule 합니다 의지정된값이사용됩니다ProfileEventArgs.Profile 값으로 속성을 Profile 속성이 현재 HttpContext합니다.

적용 대상