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


ILinkedUndoTransaction - интерфейс

Транзакция позволяет группировать операции в хранилище моделей UML, так что если один из них завершается сбоем, откаченны группа целого.После того как транзакция зафиксирована, пользователь может отменить группы целиком с помощью одной команды отката.

Пространство имен:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
Сборка:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (в Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Синтаксис

'Декларация
Public Interface ILinkedUndoTransaction _
    Inherits IDisposable
public interface ILinkedUndoTransaction : IDisposable

Тип ILinkedUndoTransaction предоставляет следующие члены.

Свойства

  Имя Описание
Открытое свойство Id Имя данного набора транзакций by BeginTransaction.

В начало страницы

Методы

  Имя Описание
Открытый метод Abort Отменить все изменения, которые произошли в модели хранения, так что транзакция была создана.Освобождение транзакции без фиксации он имеет тот же эффект.Прерывание не отменяет изменения в другие программные переменные или внешних ресурсов.
Открытый метод Commit Запустите транзакцию так как при ее будет удален, не смогут отменяются операции, выполняемые внутри него.
Открытый метод Dispose Выполняет определяемые приложением задачи, связанные с высвобождением или сбросом неуправляемых ресурсов. (Унаследовано от IDisposable.)

В начало страницы

Заметки

В выражении Visual Studio расширение можно получить контекст из которого ILinkedUndoTransaction может быть создано следующим образом:

[Import]
public ILinkedUndoContext LinkedUndoContext { get; set; }

В методе можно создать транзакцию из этого контекста:

using (ILinkedUndoTransaction transaction =
              LinkedUndoContext.BeginTransaction("Swap names"))
{ 
    Operation1();
    Operation2();
    transaction.Commit(); // Always remember Commit()!
}

Исключение, которое не перехватывается in using блок в результате чего все изменения моделей UML внутри ее откату.Обратите внимание, что это применяется только к изменениям на модели UML, а не на изменения, внесенные другим переменным, внешним баз данных, файлы и т д

Транзакции могут быть вложенными.

Дополнительные сведения см. в разделе Практическое руководство. Связывание обновлений модели с использованием транзакций.

См. также

Ссылки

Microsoft.VisualStudio.Modeling.ExtensionEnablement - пространство имен