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


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

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

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

По умолчанию для готового бита задано значение False при создании объекта и инициализации его контекста. (Любой объект, активируемый JIT, создается в собственном контексте, чтобы у него был свой собственный бит завершения для установки.) Однако это значение по умолчанию можно изменять для каждого метода, используя свойство auto-done. Вы можете задать бит '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-активация COM+

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