| Предыдущий | Следующий |
| CONTEXT_E_SYNCH_TIMEOUT | CONTEXT_E_ROLENOTFOUND |
CONTEXT_E_OLDREF
Что означает CONTEXT_E_OLDREF
CONTEXT_E_OLDREF означает, что компонент COM+ получил вызов через ссылку, связанную с транзакцией или контекстом, который уже был committed или aborted.
Такая ссылка больше не представляет действующий контекст для side-effecting метода, даже если сам объект ещё видим вызывающему коду.
Что проверить
- Сопоставьте получение ссылки с моментом завершения COM+ transaction.
- Проверьте callbacks и отложенную работу, которые переживают родительский контекст.
- Не повторяйте изменяющий состояние метод, пока неизвестно, был ли исходный вызов зафиксирован.
- Для контроля получите свежий component context и повторите безопасную операцию.
Исправление — не хранить транзакционную ссылку дольше допустимого жизненного цикла. Новый контекст следует получать там, где начинается новая логическая транзакция.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.