Поделиться через


ProfileModule.ProfileAutoSaving Событие

Определение

Происходит при завершении выполнения страницы, если включено автоматическое сохранение профиля.

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 

Тип события

Примеры

В следующем примере кода показано ProfileAutoSaving событие, включенное в файл Global.asax для приложения ASP.NET.

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

Комментарии

Событие ProfileAutoSaving возникает в конце выполнения страницы, если ProfileManager.AutomaticSaveEnabled свойство имеет значение true. Вы можете получить доступ к ProfileAutoSaving событию ProfileModule класса в файле Global.asax для приложения ASP.NET с помощью глобального Profile_ProfileAutoSaving события, как показано в примере для этого раздела.

Метод SettingsBase.Save проверяет IsDirty значение свойства для каждого из профилей SettingsPropertyValue пользователя, чтобы определить, были ли изменены свойства, состоящие из примитивных типов, строк или DateTime объектов. Метод Save не может явно определить, был ли изменен пользовательский класс. Событие можно использовать, ProfileAutoSaving чтобы определить, был ли изменен пользовательский объект, а затем продолжить автоматическое сохранение измененных объектов или отменить автоматическое сохранение, если объекты не были изменены.

Чтобы отменить операцию автоматического сохранения профиля, присвойте свойству ContinueWithProfileAutoSave значение false в событии ProfileAutoSaving ; в противном случае задайте для свойства значение ContinueWithProfileAutoSavetrue.

На событие может быть несколько подписчиков ProfileAutoSaving . Будет ProfileModule использовать последнее значение, ContinueWithProfileAutoSave которому присвоено свойство . Поэтому рекомендуется явно задать ContinueWithProfileAutoSave свойство в ProfileAutoSaving случае отмены или продолжения автоматического сохранения, так как может потребоваться перезаписать значение, заданное более ранним подписчиком.

Применяется к

См. также раздел