Состояние отображения истекает?

HashingVectorizer может быть хорошим решением для вашего случая. Он не зависит от количества входных функций, просто установите достаточно большой начальный размер.

21
задан Gulzar Nazim 24 October 2008 в 17:51
поделиться

9 ответов

Никакой ViewState не сохранен как часть процесса PostBack. Вы можете, однако, переопределение класс Page SavePageStateToPersistenceMedium () и LoadPageStateFromPersistenceMedium (), для реализации того поведения при желании. Для получения дополнительной информации читайте Понимание ASP.NET ViewState.

Примечание, что Страница ViewState хранится на Сессии поэтому, если Ваша Сессия истекает, ViewState будет потерян. Я не сказал бы, что это - истечение ViewState, но да, оно будет уничтожено после тайм-аута Сессии.

9
ответ дан 29 November 2019 в 20:13
поделиться

Само состояние отображения не истекает. Так как это отправило назад в форме, это может быть воссоздано любое время.

Согласно MSDN: ". .. для состояния отображения возможно истечь, если страница не отправляется назад в течение времени истечения срока сессии ". Так, в раунде о виде пути это может истечь, если Ваша сессия делает, но состояние отображения непосредственно не истекает. Так как Вы не используете состояние сеанса так или иначе, Вы не должны волноваться о неявном истечении.

Примечание, что я не сказал бы это, истекло. Это было MS, кого я заключил в кавычки в их собственной статье, наделенной правом ViewState

Управления
14
ответ дан 29 November 2019 в 20:13
поделиться

Состояние отображения не истекает.

Все данные состояния отображения хранятся на клиенте и отправлены назад серверу, когда пользователь выполняет обратную передачу.

Это имеет некоторые очень интересные последствия и объяснено очень полностью здесь .

5
ответ дан 29 November 2019 в 20:13
поделиться

Кроме того, как глюк, ASP.NET по умолчанию шифрует ViewState с автоматически сгенерированным ключом. Это может быть переопределено с элементом MachineKey в web.congif файле. Даже при том, что ViewState не истечет, это может стать недопустимым, если различный автоматически сгенерированный ключ используется для дешифрования ViewState, такой как после Сброса IIS, повторно развертывая приложение, или поражая различный сервер в веб-ферме. Если Вы - планирование хранения состояния отображения в течение долгих промежутков времени, не упускаете, как это шифруется/дешифруется.

http://msdn.microsoft.com/en-us/library/ms998288.aspx

5
ответ дан 29 November 2019 в 20:13
поделиться

Состояние отображения не истекает, пока они находятся все еще на странице, это все еще будет там и функционально.

2
ответ дан 29 November 2019 в 20:13
поделиться

ViewState сохранится от POST до POST. Это на самом деле сохранило в скрытом поле на Вашей форме так, чтобы это стало ОТПРАВЛЕННЫМ назад на Ваш сервер все время.

, пока Вы не полагаетесь на Сессию, у Вас не должно быть проблем при восстановлении состояния страницы. Легко протестировать код Вашего Page состояния, если Вы хотите хотя: просто установите свою сессию для истечения после того, как 60 секунд в web.config тогда загружают страницу, ожидают немного больше чем минута (перемещение к Переполнению стека и отвечают на некоторые вопросы), и затем нажмите кнопку на странице.

2
ответ дан 29 November 2019 в 20:13
поделиться

ViewState сохранен в скрытом поле на самой странице. Таким образом, пока у пользователя есть страница, у него будет ViewState. Но если Ваше приложение автоматически регистрирует пользователя после того, как определенный период времени, все еще имея ViewState не сможет принести ему пользы.

1
ответ дан 29 November 2019 в 20:13
поделиться

По умолчанию Состояние отображения включено с содержимым HTML как скрытый вход. Это означает, что не истечет, но что все в состоянии отображения должно быть загружено от браузера пользователя. Так как это обычно - самая медленная часть соединения в общедоступном сайте, помещение большого количества материала в состоянии отображения может быстро заставить Ваш сайт казаться очень медленным.

1
ответ дан 29 November 2019 в 20:13
поделиться

Короткий ответ: нет.

более длинный ответ: это зависит от реализации устройства хранения данных ViewState. Можно обеспечить пользовательскую реализацию ViewState, который мог истечь после данный количество времени. Например, Вы могли сохранить ViewState в базе данных или на диске и отправить только некоторую ссылку на хранимую сумму в скрытом поле. Тогда можно использовать пакетную обработку, чтобы удалить устаревшие данные ViewState или выполнить истечение по запросу.

1
ответ дан 29 November 2019 в 20:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: