ProfileModule.Personalize Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt auf, bevor das Benutzerprofil erstellt wird.
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
Ereignistyp
Beispiele
Das folgende Codebeispiel zeigt das Ereignis, das Personalize in der Datei Global.asax für eine Anwendung deklariert wurde. Der Ereigniscode lädt ein Benutzerprofil für einen Benutzer basierend auf der Rollenmitgliedschaft.
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
Hinweise
Das Personalize Ereignis wird während des Ereignisses HttpApplication.AcquireRequestState ausgelöst. Sie können auf das Personalize Ereignis der ProfileModule -Klasse in der Datei Global.asax für Ihre ASP.NET Anwendung zugreifen, indem Sie das Profile_Personalize
globale Ereignis verwenden, wie im Beispiel für dieses Thema gezeigt.
Sie können das Personalize -Ereignis verwenden, um ein benutzerdefiniertes Benutzerprofil anzugeben. Wenn der ProfileEventArgs.Profile für den ProfileEventHandler Ereignishandler für das Personalize Ereignis angegebene Eigenschaftswert auf einen Wert festgelegt wird, der nicht null
beim Ende des Personalize Ereignisses ist, verwendet den ProfileModule angegebenen Wert der ProfileEventArgs.Profile -Eigenschaft als Wert der Profile -Eigenschaft des aktuellen HttpContext.