Windows - статьи

       

Транзакции


Способность объекта COM+ "жить" внутри своей собственной транзакции или быть частью большой группы аналогичных объектов, которые принадлежат одной транзакции, - огромное преимущество COM+. Это позволяет применять компонент для решения различных задач, таким образом, что разработчики могут использовать код заново без модернизации логики приложения. Транзакции COM+ гарантируют, что:

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

Клиенты могут использовать прямой контроль над транзакциями с помощью контекста объекта, используя интерфейс ItransactionContext. Однако существует возможность и автоматического управления транзакциями.

Атрибуты транзакций можно устанавливать тремя способами:

  • на этапе разработки;
  • с помощью редактора библиотеки типов;
  • в среде MTS Explorer.

Завершение транзакции по умолчанию происходит через время, указанное в параметре transaction timeout, который выставляется для каждого объекта отдельно через утилиту MTS Explorer. По умолчанию это время равно 60 секундам. По истечении данного периода, если транзакция не успела завершиться, она автоматически прерывается.



Содержание раздела