Что означает код HRESULT 0x8004D011 (XACT_E_WRONGSTATE)?

 
Предыдущий Следующий
XACT_E_UNKNOWNRMGRID XACT_E_WRONGUOW

XACT_E_WRONGSTATE

Callbacks транзакции и запросы приложения образуют автомат состояний

XACT_E_WRONGSTATE означает, что метод распознан, но не может выполняться в текущей фазе транзакции. Например, подключение после начала завершения, повторный ответ Prepared, фиксация отменённой ветви или подтверждение запроса второй фазы до соответствующей подготовки.

Регистрируйте переходы состояний, а не только имена методов. Собственные диспетчеры ресурсов должны сериализовать обработку callbacks и устойчиво сохранять состояние до возврата протокольного голоса. Приложения должны предотвращать гонку параллельных commit и abort. Повтор допустим только после подтверждения переходного состояния и явного разрешения API выполнить метод позже; при конечном состоянии требуется новая транзакция.

Что собрать о машине состояний

  • Последний успешный протокольный callback и ответ.
  • Параллельная фиксация, отмена, тайм-аут или остановка.
  • Было ли состояние Prepared устойчиво записано ресурсом.
  • Число повторных callbacks или уведомлений завершения.

Ссылки


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