ProfileModule.ProfileAutoSaving 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 am Schluss der Seitenausführung auf, wenn das automatische Speichern von Profilen aktiviert ist.
public:
event System::Web::Profile::ProfileAutoSaveEventHandler ^ ProfileAutoSaving;
public event System.Web.Profile.ProfileAutoSaveEventHandler ProfileAutoSaving;
member this.ProfileAutoSaving : System.Web.Profile.ProfileAutoSaveEventHandler
Public Custom Event ProfileAutoSaving As ProfileAutoSaveEventHandler
Ereignistyp
Beispiele
Das folgende Codebeispiel zeigt das Ereignis, das ProfileAutoSaving in der Datei Global.asax für eine ASP.NET Anwendung enthalten ist.
public void Profile_ProfileAutoSaving(object sender, ProfileAutoSaveEventArgs args)
{
if (Profile.Cart.HasChanged)
args.ContinueWithProfileAutoSave = true;
else
args.ContinueWithProfileAutoSave = false;
}
Public Sub Profile_ProfileAutoSaving(sender As Object, args As ProfileAutoSaveEventArgs)
If Profile.Cart.HasChanged Then
args.ContinueWithProfileAutoSave = True
Else
args.ContinueWithProfileAutoSave = False
End If
End Sub
Hinweise
Das ProfileAutoSaving Ereignis wird am Ende der Seitenausführung ausgelöst, wenn die ProfileManager.AutomaticSaveEnabled -Eigenschaft ist true
. Sie können auf das ProfileAutoSaving Ereignis der ProfileModule -Klasse in der Datei Global.asax für Ihre ASP.NET Anwendung zugreifen, indem Sie das Profile_ProfileAutoSaving
globale Ereignis verwenden, wie im Beispiel für dieses Thema gezeigt.
Die SettingsBase.Save -Methode überprüft den IsDirty Eigenschaftswert für jeden SettingsPropertyValue im Benutzerprofil, um zu ermitteln, ob Eigenschaften, die aus primitiven Typen, Zeichenfolgen oder DateTime Objekten bestehen, geändert wurden. Die Save Methode kann nicht explizit feststellen, ob sich eine benutzerdefinierte Klasse geändert hat. Sie können das ProfileAutoSaving -Ereignis verwenden, um zu bestimmen, ob ein benutzerdefiniertes Objekt geändert wurde, und dann entweder mit dem automatischen Speichern für geänderte Objekte fortfahren oder das automatische Speichern abbrechen, wenn keine Objekte geändert wurden.
Um den automatischen Profilspeichervorgang abzubrechen, legen Sie die ContinueWithProfileAutoSave -Eigenschaft im ProfileAutoSaving -Ereignis auf false
fest. Andernfalls legen Sie die ContinueWithProfileAutoSave -Eigenschaft auf festtrue
.
Es kann mehrere Abonnenten für das ProfileAutoSaving Ereignis geben. Verwendet ProfileModule den letzten Wert, auf den die ContinueWithProfileAutoSave -Eigenschaft festgelegt ist. Daher wird empfohlen, die -Eigenschaft explizit festzulegenProfileAutoSaving, wenn Sie die ContinueWithProfileAutoSave automatische Speicherung abbrechen oder fortsetzen, da Sie möglicherweise den von einem früheren Abonnenten festgelegten Wert überschreiben müssen.