| Предыдущий | Следующий |
| ERROR_STATE_ENUMERATE_SETTINGS_FAILED | ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED |
ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED
Составной параметр слишком велик
ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED — ошибка проверки: полный сериализованный составной объект превышает размер, принимаемый платформой. Повторная отправка той же полезной нагрузки не поможет.
Варианты исправления
- Удалите избыточные поля и сделайте представление компактнее.
- Разделите независимые данные на несколько параметров.
- Храните большие документы или кэши в файлах приложения либо базе данных, оставляя в параметрах только ссылку.
- Не встраивайте двоичные объекты в состояние конфигурации.
Замечание по проектированию
Хранилище параметров предназначено для ограниченной конфигурации и состояния, а не произвольного содержимого. Проверяйте размер до вызова API, чтобы приложение могло выдать понятную ошибку и сохранить прежнее значение.
Выбор другого хранилища
Крупные структурированные документы, истории, миниатюры и кэши следует хранить в файлах или базе данных с явным управлением жизненным циклом. В репозитории параметров должны оставаться только компактная конфигурация и ссылки.
Предотвращение повторения
Добавьте модульный тест размера сериализации с наихудшими строками и необязательными полями. В сборках для разработки контролируйте фактические размеры полезной нагрузки, чтобы рост был замечен до достижения пользователями ограничения платформы.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.