Export (0) Print
Expand All

ProfileAutoSaveEventHandler Delegate

Represents the method that will handle the ProfileAutoSaving event of a ProfileModule.

Namespace:  System.Web.Profile
Assembly:  System.Web (in System.Web.dll)

public delegate void ProfileAutoSaveEventHandler(
	Object sender,
	ProfileAutoSaveEventArgs e
)

Parameters

sender
Type: System.Object

The ProfileModule that raised the ProfileAutoSaving event.

e
Type: System.Web.Profile.ProfileAutoSaveEventArgs

A ProfileAutoSaveEventArgs that contains the event data.

The ProfileAutoSaveEventHandler delegate is defined for the ProfileAutoSaving event of the ProfileModule class. You can access the ProfileAutoSaving event of the ProfileModule class in the Global.asax file for your ASP.NET application, as shown in the example for this topic. The ProfileAutoSaving event is raised at the end of page execution if the AutomaticSaveEnabled property is true.

The Save method automatically determines whether properties that are made up of primitive types, strings, or DateTime objects have been changed, by checking the IsDirty property value for each SettingsPropertyValue in the user profile. However, the Save method cannot explicitly determine whether a custom class has changed. You can handle the ProfileAutoSaving event to determine whether a custom object has been modified and to continue with the automatic save for modified objects and 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, regardless of whether you are canceling or continuing with the automatic save, as you may need to overwrite the value set by an earlier subscriber.

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;
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft