ProfileAutoSaveEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, который будет обрабатывать ProfileAutoSaving событие объекта ProfileModule.
public delegate void ProfileAutoSaveEventHandler(System::Object ^ sender, ProfileAutoSaveEventArgs ^ e);
public delegate void ProfileAutoSaveEventHandler(object sender, ProfileAutoSaveEventArgs e);
type ProfileAutoSaveEventHandler = delegate of obj * ProfileAutoSaveEventArgs -> unit
Public Delegate Sub ProfileAutoSaveEventHandler(sender As Object, e As ProfileAutoSaveEventArgs)
Параметры
- sender
- Object
Это ProfileModule событие вызвало ProfileAutoSaving .
Объект, ProfileAutoSaveEventArgs содержащий данные события.
Примеры
В следующем примере кода показано 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
Комментарии
Делегат ProfileAutoSaveEventHandler определяется для ProfileAutoSaving события ProfileModule класса. Вы можете получить доступ к ProfileAutoSaving событию ProfileModule класса в файле Global.asax для приложения ASP.NET, как показано в примере этого раздела. Событие ProfileAutoSaving вызывается в конце выполнения страницы, если AutomaticSaveEnabled свойство равно true.
Метод Save автоматически определяет, были ли изменены свойства, состоящие из примитивных типов, строк или DateTime объектов, путем проверки IsDirty значения свойства для каждого SettingsPropertyValue из них в профиле пользователя. Однако метод не может явно определить, Save изменился ли пользовательский класс. Можно обработать ProfileAutoSaving событие, чтобы определить, был ли изменен пользовательский объект, и продолжить автоматическое сохранение измененных объектов и отменить автоматическое сохранение, если объекты не были изменены.
Чтобы отменить операцию автоматического сохранения профиля, задайте для свойства false значение в событии; в ProfileAutoSaving противном случае задайте ContinueWithProfileAutoSave для свойства значение true.ContinueWithProfileAutoSave
В событии ProfileAutoSaving может быть несколько подписчиков. Будет ProfileModule использоваться последнее значение, ContinueWithProfileAutoSave которому задано свойство. В результате рекомендуется явно задать ContinueWithProfileAutoSave свойство в ProfileAutoSaving событии независимо от того, отменяете или продолжаете автоматическое сохранение, так как может потребоваться перезаписать значение, заданное более ранним подписчиком.
Методы расширения
| Имя | Описание |
|---|---|
| GetMethodInfo(Delegate) |
Возвращает объект, представляющий метод, представленный указанным делегатом. |