Site icon EfmSoft

Что означает код HRESULT 0x8004E031 (CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED)?

 
Предыдущий Следующий
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 не менял бизнес-результат транзакции.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version