В нашем приложении у нас есть «BasePage», который объявляет ряд свойств, которые будут использоваться более или менее каждой страницей в приложении.
Внутри этих свойств они пишут в ViewState. Обычно это целое число или небольшое строковое значение, ничего особенного. Типичное использование - это вызов веб-службы и сохранение идентификатора, например, для использования на странице.
Я использовал viewstate, так как опасаюсь потери переменных сеанса, например, при повторном использовании IIS. Кроме того, я подумал, что очень маленькие значения не сильно увеличат размер страницы.
Не слишком ли я параноидально отношусь к сеансу, и было бы это лучшим вариантом.
Наша среда представляет собой кластер из двух серверов с завершением SSL на каждом сервере, липкие сеансы, поддерживаемые балансировщиком нагрузки, поэтому использование In Proc не является проблемой, я просто очень осторожен с этим.