| Предыдущий | Следующий |
| CO_E_ISOLEVELMISMATCH | CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED |
CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED
Что означает CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED
CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED означает, что COM+ запретил вызов в другой контекст, пока компонент находится между EnterTransactionScope и ExitTransactionScope. Открытая вручную область транзакции не допускает такой выход из текущего контекста.
Что проверить
- Найдите точный вызов
EnterTransactionScopeи операцию, которая пытается перейти в другой COM-контекст доExitTransactionScope. - Проверьте вспомогательные и COM-вызовы внутри области транзакции: внешняя функция может неявно активировать другой контекст.
- Убедитесь, что каждому входу в ручную область транзакции соответствует один
ExitTransactionScopeво всех путях обработки ошибок и досрочного выхода.
Что делать
Закройте область транзакции до межконтекстного вызова либо перестройте код так, чтобы внешний вызов выполнялся вне неё. Повторение той же операции внутри незакрытой области не устраняет причину ошибки.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
