| Предыдущий | Следующий |
| XACT_E_NOIMPORTOBJECT | XACT_E_INDOUBT |
XACT_E_INVALIDCOOKIE
Cookie транзакции — это непрозрачные данные распространения, а не маркер приложения
XACT_E_INVALIDCOOKIE означает, что импортируемые данные распространения транзакции не удалось принять. Cookie представляет зависящий от координатора контекст транзакции и должен передаваться без усечения или переосмысления; он не взаимозаменяем с GUID транзакции, маркером пользовательского сеанса или cookie другого экземпляра диспетчера транзакций.
Записывайте экспортированный размер в байтах и криптографический хэш на обоих концах, а не конфиденциальные необработанные данные распространения. Проверьте фреймирование, преобразование base64, кодировку символов и то, не сделал ли перезапуск службы кэшированные экспорты недействительными. Экспортируйте свежий cookie для каждого требуемого пути распространения и импортируйте его через соответствующий API DTC. Восстановление cookie по видимым идентификаторам не поддерживается и может вообще не связать работу ни с одной транзакцией.
Проверки распространения, выявляющие повреждение cookie
- Экспортирующий диспетчер транзакций и время экспорта.
- Точное число байтов до и после транспортного кодирования.
- Сравнение хэшей отправителя и получателя.
- Экземпляр DTC получателя, протокол и API импорта.
Ссылки
- Microsoft MS-DTCO: маршалинг и распространение транзакций
- IETF: идентификация и передача транзакций TIP
- IETF: требования совместимости диспетчеров транзакций
Нужно найти другой код? Найти другой код состояния или ошибки.