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 для определения того, был ли изменен пользовательский объект, а затем продолжить автоматическое сохранение измененных объектов или отменить автоматическое сохранение, если объекты не были изменены.
Чтобы отменить операцию автоматического сохранения профиля, задайте для свойства false значение в событии; в ProfileAutoSaving противном случае задайте ContinueWithProfileAutoSave для свойства значение true.ContinueWithProfileAutoSave
В событии ProfileAutoSaving может быть несколько подписчиков. Будет ProfileModule использоваться последнее значение, ContinueWithProfileAutoSave которому задано свойство. В результате рекомендуется явно задать ContinueWithProfileAutoSave свойство в ProfileAutoSaving случае отмены или продолжения автоматического сохранения, так как может потребоваться перезаписать значение, заданное более ранним подписчиком.