Что означает код HRESULT 0x8004E004 (CONTEXT_E_NOCONTEXT)?

 
Предыдущий Следующий
CONTEXT_E_ABORTING CONTEXT_E_WOULD_DEADLOCK

CONTEXT_E_NOCONTEXT

meta-description[COM+ контекст объекта отсутствует: проверьте границы вызова компонента, transaction/activity и перенос работы между потоками.]

Что означает CONTEXT_E_NOCONTEXT

CONTEXT_E_NOCONTEXT — COM+/MTS-компонент пытается получить контекст объекта там, где активного контекста нет.

Практический смысл

Контекст существует только внутри поддерживаемого вызова компонента и связан с транзакцией, activity и потоком выполнения. Вызов из произвольного рабочего потока, после завершения вызова компонента или вне активации COM+ не имеет ожидаемого контекст объекта.

Что проверить

  • Сохраните ID activity/context и состояние транзакции в момент первого отказа.
  • Проверьте, выполняется ли код внутри реального COM+ вызова компонента.
  • Не переносите указатель на контекст объекта между потоками без поддерживаемого механизма.
  • Если работа вынесена в рабочий поток, передавайте необходимые данные явно, а не рассчитывайте на прежний COM+ context.

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


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