У меня есть веб-приложение VB.NET, и на одной из его страниц есть несколько текстовых полей для ввода данных.Я хочу, чтобы страница сохранила свои данные и тайм-аут, если она полностью простаивает в течение XX минут.
Если я установлю тайм-аут сеанса в XX минут, используя пользователей, жалуются, что время ожидания страницы истекло, пока они набирают текст.параграфа, и их изменения не сохраняются.
Если я добавляю 1-минутный таймер и вызываю функцию Save () каждый раз, когда запускается таймер, тогда данные сохраняются каждую минуту, но тайм-аут никогда не происходит, потому чтоТаймер тайм-аута сеанса перезапускается с 0 при срабатывании таймера.
Я пытался увеличить интервал таймера каждый раз (1 минута, 2 минуты, 4 минуты, 8 минут, ..., до XX + 2 минуты).В обработчике timer.Tick я проверяю, истек ли сеанс, и использую Response.Redirect (), чтобы вернуться на страницу по умолчанию, если она истекла.
Это работает, до точки .Если человек печатает длинный абзац в течение последнего интервала таймера, то любые данные, измененные с момента предыдущего такта, теряются при наступлении тайм-аута сеанса.
Есть ли способ заметить, что в одном из следующих случаев происходит набор текстамного текстовых полей, а не время ожидания?
Как другие люди справились с этой ситуацией?