что за суета связана с отсутствием поддержки состояния в веб-приложении?
Это сложная область.Например, одним из недостатков использования сеанса для управления состоянием является то, что если это сеанс RW, то только один поток за раз может взаимодействовать с ним.Это становится проблемой, если у вас есть несколько потоков в одном сеансе (например, для нескольких вызовов ajax с одной и той же страницы, выполняемых параллельно).Включение сеанса означает, что эти потоки блокируются при взаимодействии с сеансом RW, и, следовательно, каждому последующему потоку требуется больше времени для выполнения.
Кроме того, для веб-приложений, которые должны быть отказоустойчивыми, если вы используетеНесколько узлов в качестве фермы, затем вам нужно использовать поставщика поддержки общего состояния сеанса (для сервера SQL или распределенного кэша), чтобы гарантировать, что на каком бы сервере пользователь не работал, он выглядит как одно и то же состояние.Это влечет за собой снижение производительности.
Но, если честно, если пользователь не пройдет проверку сервера, то я не хочу, чтобы ему приходилось вводить все значения снова
Для этой проблемыЧтобы избежать полной обратной передачи и обеспечить сохранение изменчивых данных пользователя, введенных на странице, даже если существует проблема с проверкой, вам следует попробовать выполнить проверку на стороне клиента.Это не моя область знаний, но вам стоит взглянуть на ненавязчивая проверка на стороне клиента .Его реализация требует больших усилий, но оно того стоит из соображений производительности и удобства использования.
Что касается достоинств / недостатков viewstate в целом, я думаю, что причина, по которой традиционная мудрость отходит от этого, заключается в том, что (какЯ уверен, что вы в курсе), viewstate несет много потенциальных ловушек, включая потенциально чрезмерно большие состояния, передаваемые в браузер и из него (и необходимость десериализации на стороне сервера), а также приводящие к нечистоте HTML отображается на клиенте.ИМХО самое лучшее в MVC - это чистота отображаемого HTML-кода.
Для простого, монолитного веб-приложения, которое не должно быть супер отказоустойчивым, я не вижу проблем с использованием ASP.NET + Viewstate для управления сессиями.Все зависит от того, чего должен достичь ваш сайт.Я уверен, что другие будут иметь свои мысли.Надеюсь, это полезно для вас!