Freigeben über


ProfileModule.ProfileAutoSaving Ereignis

Definition

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.

Gilt für:

Weitere Informationen