| Предыдущий | Следующий |
| CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED | SL_E_SFS_INVALID_FS_VERSION |
CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED
Что означает CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED
CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED: Component вызвал EnterTransactionScope, но возвращается из метода без соответствующего ExitTransactionScope. COM+ обнаруживает несбалансированный manual transaction scope на границе вызова.
Что проверить
- Проверьте все return, exception и cancellation paths между EnterTransactionScope и выходом из метода.
- Используйте scope guard/RAII, чтобы ExitTransactionScope выполнялся даже при ошибке.
- Не переносите ответственность за закрытие scope вызывающему коду: lifetime принадлежит component, который его открыл.
Что делать
Сбалансируйте Enter/Exit в одном control-flow lifetime. После исправления отдельно проверьте rollback/commit semantics, чтобы cleanup не менял бизнес-результат транзакции.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.