| Предыдущий | Следующий |
| XACT_E_TMNOTAVAILABLE | XACT_E_CONNECTION_DENIED |
XACT_E_CONNECTION_DOWN
Потерю соединения необходимо интерпретировать с учётом текущей фазы фиксации
XACT_E_CONNECTION_DOWN означает, что участник или приложение имели соединение с диспетчером транзакций и этот канал отказал. Последствия зависят от состояния протокола: во время активной работы транзакция может быть отменена, а подготовленный устойчивый участник должен перейти к восстановлению и позднее получить окончательный результат.
Сопоставьте разрыв соединения с последним сообщением протокола, а не рассматривайте каждый случай как повод для сетевого повтора. Зафиксируйте, было ли подтверждено сообщение prepare, был ли результат фиксации устойчиво записан и какая сторона перезапустилась. Если ветвь находилась в состоянии Prepared, сохраните её состояние и повторно зарегистрируйте участника. Если устойчивых изменений не было, приложение может начать новую транзакцию после проверки, что неудачная попытка не вызвала внешних побочных эффектов.
Контекст разрыва, определяющий безопасную обработку
- Фаза транзакции на момент последнего успешного сообщения.
- Локальное состояние участника: активен, подготовлен, зафиксирован или отменён.
- Отказавший процесс, узел или сетевой путь.
- Данные восстановления, доступные после повторного подключения.
Ссылки
- Microsoft MS-DTCO: поведение участника после потери связи
- Microsoft MS-DTCO: повторное подключение для восстановления
- IETF: соединение TIP и восстановление транзакций
Нужно найти другой код? Найти другой код состояния или ошибки.