мета-данные страницы
Это старая версия документа!
Идемпотентность в мобильных приложениях
- Добавлены property
- Himstat.IdempotencyText устанавливается на прямую (доступно на чтение и запись)
- Himstat.IdempotencyHash устанавливается при установке IdempotencyText (доступно только на чтение)
- uErrorRes добавлен тип Exception TIdenpotencyException
- На примере запроса PayPlanOrders:
- THimstatDM.ReplyWithPayPlanOrders
- Himstat.IdempotencyText := Srvr.Request.Query.Text; Получаем IdempotencyText IdempotencyHash
- Himstat.DoPayPlanOrders
- QueryIdempotency Записываем в таблицу Hash и время
- Нет таблицы IDEMPOTENCY_QUERY - выходим из проверки
- получаем старый ОТВЕТ (предыдущего АНАЛОГИЧНОГО запроса) ИЛИ получаем ОТВЕТ="" - Идет запись
- ОТВЕТ=null - пытаемся записать HASH
- ERROR Присваиваем ОТВЕТ:="" - Идет запись
- FINALY
- ЕСЛИ ОТВЕТ=null - то у нас уникальный запрос записанный в таблицу
- ЕСЛИ ОТВЕТ<>null - возбуждаем исключение TIdenpotencyException.Create(ОТВЕТ);
- если ошибка получения "старого" ответа - то ничего не делаем - пропускаем запрос выполнять свои действия - старый функционал - нет таблицы
- если ответ ="" - идет запись - Отправляем пустой не ошибочный ответ
- если ответ !="" - ответ был - Отправляем ответ клиенту
- если ошибка записи в уникальные поля таблицы - Отправляем пустой не ошибочный ответ