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 случае отмены или продолжения автоматического сохранения, так как может потребоваться перезаписать значение, заданное более ранним подписчиком.