ProfileModule.ProfileAutoSaving Händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Inträffar i slutet av sidkörningen om automatisk profilbesparing är aktiverad.
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
Händelsetyp
Exempel
I följande kodexempel visas händelsen ProfileAutoSaving som ingår i filen Global.asax för ett ASP.NET program.
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
Kommentarer
Händelsen ProfileAutoSaving utlöses i slutet av sidkörningen om egenskapen ProfileManager.AutomaticSaveEnabled är true. Du kan komma åt händelsen ProfileAutoSaving för klassen ProfileModule i filen Global.asax för ditt ASP.NET-program med hjälp av den globala händelsen Profile_ProfileAutoSaving, som du ser i exemplet för det här avsnittet.
Metoden SettingsBase.Save kontrollerar egenskapsvärdet IsDirty för var och en SettingsPropertyValue i användarprofilen för att avgöra om egenskaper som består av primitiva typer, strängar eller DateTime objekt har ändrats. Metoden Save kan inte uttryckligen avgöra om en anpassad klass har ändrats. Du kan använda ProfileAutoSaving händelsen för att avgöra om ett anpassat objekt har ändrats och sedan antingen fortsätta spara automatiskt för ändrade objekt eller avbryta den automatiska spara om inga objekt har ändrats.
Om du vill avbryta den automatiska profilsparåtgärden ContinueWithProfileAutoSave anger du egenskapen till false i ProfileAutoSaving händelsen. Annars anger du ContinueWithProfileAutoSave egenskapen till true.
Det kan finnas flera prenumeranter på ProfileAutoSaving händelsen. Använder ProfileModule det sista värdet som egenskapen är inställd på ContinueWithProfileAutoSave . Därför rekommenderar vi att du uttryckligen ContinueWithProfileAutoSave anger egenskapen i ProfileAutoSaving händelse av att du avbryter eller fortsätter med den automatiska besparingen, eftersom du kan behöva skriva över värdet som angetts av en tidigare prenumerant.