Я проделал некоторую работу, разбирая сессию недавно , и, как я мог видеть, весь объект состояния десериализовывается один раз и только для каждого запроса. Конечно, это достаточно легко проверить - просто извлеките его дважды и проверьте ReferenceEquals
.
Конечно, размещение значения в поле между использованиями сэкономило бы некоторое время на поиск, но вы должны оплатить стоимость десериализации только один раз.
Если вы действительно хотели быть уверены, вы также можете проверить это дважды, внедрив ISerializable
и записав сериализованные / десериализованные вызовы.