| Предыдущий | Следующий |
| WU_E_DS_DECLINENOTALLOWED | WU_E_DS_SESSIONLOCKMISMATCH |
WU_E_DS_TABLESESSIONMISMATCH
Что означает WU_E_DS_TABLESESSIONMISMATCH
WU_E_DS_TABLESESSIONMISMATCH означает, что объект таблицы Windows Update datastore привязан к одному сеансу, а вызывающий код пытается использовать его из другого сеанса.
Что проверить
- Идентификатор сеанса при open/read/write/close таблицы.
- Не переживает ли сброс объекта таблицы или close исходному сеансу.
- Передаётся ли ссылка между рабочими потоками вместе с правильным контекстом сеанса.
- Не кешируется ли объект таблицы дольше, чем сеанс datastore.
Как исправлять
После reset/close исходному сеансу все связанные ссылки на таблицу должны считаться недействительными. Откройте таблицу заново в новом сеансе и исправьте модель владения, чтобы table и session имели общее время жизни. Простая сериализация close не решает проблему, если устаревшая ссылка продолжает жить в другом рабочем потоке. Для редкого race логируйте ID сеанса и таблицы на каждом вызове datastore.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.