Настройка готового бита
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.
См. также