Что означает код HRESULT 0x00670013 (STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED)?

 
Предыдущий Следующий
PEER_S_SUBSCRIPTION_EXISTS S_IMAPI_SPEEDADJUSTED

STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED

Что означает результат

STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED: Идентичность вызывающей стороны изменилась в пределах transaction context State Repository. Хранилище не допускает продолжение той же транзакции от другого caller identity.

Что проверить

  • Сохраните caller ID при создании транзакции и при вызове, который получил HRESULT.
  • Проверьте impersonation, смену токена, переход между broker/service context и асинхронное продолжение на другом владельце.
  • Не передавайте transaction context компоненту с другой identity как обычный дескриптор.
  • После смены caller не пытайтесь продолжать старую транзакцию через повтор.

Диагностика и исправление

Завершите или отбросьте старый context и начните новую транзакцию от фактического владельца. Если identity не должна была меняться, исправьте impersonation/lifetime вокруг исходной транзакции.

Технические ссылки


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