次の方法で共有


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 使用して、カスタム ユーザー プロファイルを指定できます。 イベントのイベント ハンドラーPersonalizeProfileEventHandlerProfileEventArgs.Profile指定されたプロパティ値が、イベントの終了時ではないPersonalizenull値に設定されている場合、 ProfileModule は、プロパティのProfileEventArgs.Profile指定された値を現在HttpContextの の プロパティのProfile値として使用します。

適用対象