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


Согласованные и выполненные флаги

COM+ всегда создает объект контекста перед активацией транзакционного объекта. Объект контекста содержит сведения, связанные с объектами, такие как его создатель и идентификатор транзакции. Каждый объект контекста также содержит согласованный флаг и выполненный флаг. Вместе эти флаги определяют состояние объекта транзакций.

Согласованный флаг указывает, что транзакционный объект является согласованным или несогласованным. Конкретные сведения о том, что делает состояние объекта согласованным, зависит от программиста. При вызове метода этот флаг имеет значение True, объект согласован. False указывает, что объект несогласован. COM+ задает для флага значение True при создании экземпляра объекта. Согласованный объект готов к выполнению транзакции. Хотя объект остается активным, последующие вызовы метода могут многократно переключать согласованный флаг с True на False и наоборот.

Выполненный флаг определяет длительность транзакции. При возврате вызова метода COM+ проверяет выполненный флаг. Если метод задает этому флагу значение True, COM+ деактивирует объект и заметит согласованный флаг. Когда флаг готово имеет значение False, COM+ не деактивирует объект и не отмечает согласованный флаг. COM+ задает для готового флага значение False при создании экземпляра объекта.

Согласованный флаг вызывает голосование для фиксации или прерывания транзакции, в которой она выполняется, и выполненный флаг завершает голосование. COM+ проверяет согласованный флаг, если флаг завершения имеет значение True при возврате вызова метода или при деактивации объекта. Хотя согласованный флаг объекта может многократно изменяться в каждом вызове метода, только последние числа изменений.

Управление автоматическими транзакциями в COM+

Настройка согласованных и выполненных флагов