Что означает код HRESULT 0x8004D015 (XACT_E_INVALIDCOOKIE)?

 
Предыдущий Следующий
XACT_E_NOIMPORTOBJECT XACT_E_INDOUBT

XACT_E_INVALIDCOOKIE

Cookie транзакции — это непрозрачные данные распространения, а не маркер приложения

XACT_E_INVALIDCOOKIE означает, что импортируемые данные распространения транзакции не удалось принять. Cookie представляет зависящий от координатора контекст транзакции и должен передаваться без усечения или переосмысления; он не взаимозаменяем с GUID транзакции, маркером пользовательского сеанса или cookie другого экземпляра диспетчера транзакций.

Записывайте экспортированный размер в байтах и криптографический хэш на обоих концах, а не конфиденциальные необработанные данные распространения. Проверьте фреймирование, преобразование base64, кодировку символов и то, не сделал ли перезапуск службы кэшированные экспорты недействительными. Экспортируйте свежий cookie для каждого требуемого пути распространения и импортируйте его через соответствующий API DTC. Восстановление cookie по видимым идентификаторам не поддерживается и может вообще не связать работу ни с одной транзакцией.

Проверки распространения, выявляющие повреждение cookie

  • Экспортирующий диспетчер транзакций и время экспорта.
  • Точное число байтов до и после транспортного кодирования.
  • Сравнение хэшей отправителя и получателя.
  • Экземпляр DTC получателя, протокол и API импорта.

Ссылки


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