Что означает код HRESULT 0x80010105 (RPC_E_SERVERFAULT)?

 
Предыдущий Следующий
RPC_E_FAULT RPC_E_CHANGED_MODE

RPC_E_SERVERFAULT

Что означает RPC_E_SERVERFAULT

RPC_E_SERVERFAULT означает, что COM/RPC-вызов достиг серверного метода, но во время его выполнения возникло исключение. Это отличается от транспортного обрыва: первичная причина находится в серверном коде и его состоянии.

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

  • Сохраните исходное исключение и стек сервера до преобразования в HRESULT.
  • Зафиксируйте входные параметры и состояние объекта при входе в метод.
  • Проверьте, успел ли метод изменить постоянные данные до исключения.
  • Не выполняйте автоматический повтор, пока не определена идемпотентность операции.

Исправление — устранить серверное исключение и явно определить rollback/поведение частично выполненного метода. Повтор со стороны клиента без этой информации может удвоить уже выполненные изменения.

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


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