ProfileModule.ProfileAutoSaving Event
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Occurs at the end of page execution if automatic profile saving is enabled.
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
Event Type
Examples
The following code example shows the ProfileAutoSaving event included in the Global.asax file for an ASP.NET application.
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
Remarks
The ProfileAutoSaving event is raised at the end of page execution if the ProfileManager.AutomaticSaveEnabled property is true
. You can access the ProfileAutoSaving event of the ProfileModule class in the Global.asax file for your ASP.NET application using the Profile_ProfileAutoSaving
global event, as shown in the example for this topic.
The SettingsBase.Save method checks the IsDirty property value for each SettingsPropertyValue in the user profile to determine whether properties that are made up of primitive types, strings, or DateTime objects have been changed. The Save method cannot explicitly determine whether a custom class has changed. You can use the ProfileAutoSaving event to determine whether a custom object has been changed and then either to continue with the automatic save for modified objects or to cancel the automatic save if no objects have been modified.
To cancel the automatic profile save operation, set the ContinueWithProfileAutoSave property to false
in the ProfileAutoSaving event; otherwise, set the ContinueWithProfileAutoSave property to true
.
There may be multiple subscribers to the ProfileAutoSaving event. The ProfileModule will use the last value that the ContinueWithProfileAutoSave property is set to. As a result, it is recommended that you explicitly set the ContinueWithProfileAutoSave property in the ProfileAutoSaving event whether you are canceling or continuing with the automatic save, as you may need to overwrite the value set by an earlier subscriber.