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


Настройка готового бита

COM+ деактивирует объект, активируемый JIT, на основе состояния свойства контекста, готового бита, как показано ниже.

  • Если для готового бита задано значение True, COM+ деактивирует объект, когда возвращается текущий вызов метода.
  • Когда для готового бита задано значение False, объект остается активным при возвращении текущего вызова метода.

По умолчанию для готового бита задано значение False при создании объекта и инициализации его контекста. (Любой объект, активируемый JIT, создается в собственном контексте, чтобы у него был собственный бит задания.) Однако этот параметр по умолчанию можно изменить на основе каждого метода с помощью свойства auto-done. Вы можете задать бит выполнения следующим образом:

  • Использование IContextState
  • Использование IObjectContext
  • Использование свойства auto-done

Использование IContextState

Вы можете использовать IContextState::SetDeactivateOnReturn , чтобы задать для бита true или False.

С помощью IContextState::GetDeactivateOnReturn можно получить текущее состояние готового бита из контекста объекта.

Использование IObjectContext

Для задания готового бита можно использовать следующие методы в IObjectContext , одновременно устанавливая согласованный бит, используемый для голосования в транзакциях:

  • SetComplete сигнализирует о том, что вы сделали, и что вы голосуете за фиксацию текущей транзакции. Он задает как готовое, так и согласованное битовое значение True.
  • SetAbort сигнализирует о том, что вы выполняете и делаете текущую транзакцию. Он задает для готового бита значение True и согласованное значение False.
  • EnableCommit сигнализирует о том, что вы не сделали, но что вы голосуете за фиксацию транзакции. Он задает для готового бита значение False и согласованное значение True.
  • DisableCommit сигнализирует о том, что вы не сделали, и что вы голосуете не зафиксировать транзакцию в настоящее время, как правило, потому что состояние несогласовано. Он задает как готовое, так и согласованное значение False.

Основные понятия активации COM+ JIT

Включение активации JIT для компонента

Активация JIT для пула объектов и COM+

Транзакции и активация JIT COM+