Нет, это невозможно. Нет API для «разогрева» внутрипроцессного состояния сеанса или кеша. Такое решение было бы ненадежным в любом случае. Вы не могли гарантировать, что последнее, что ваше приложение сделало, это экспортировало его текущее состояние сеанса, поэтому вы никогда не могли рассчитывать на то, что импортированные данные будут текущими.
Вы можете использовать сервер состояний вне процесса на том же хосте, что и ваше веб-приложение. Тогда веб-приложение может свободно перерабатываться, сохраняя информацию о состоянии в целости и сохранности. Это немного быстрее, чем использование SQL Server для управления сеансами, так как вам не нужно иметь дело с накладными расходами SQL или сетевым транзитом на другую машину, единственный способ, который хуже, чем состояние сеанса в процессе, заключается в том, что данные должны маршал через границы процесса, но пока у вас нет огромного количества быстро меняющихся данных сеанса, это вообще не должно быть заметно.
Существуют также другие альтернативы, такие как Код проекта Microsoft с именем «Velocity» или SessionServer от ScaleOut Software (среди прочего, я уверен), которые предлагают механизмы распределенного кэширования, которые могут сохранять Состояние сеанса или кэш синхронизируются между серверами в ферме серверов, не прибегая к использованию SQL Server.
Вопреки тому, что опубликовал другой пользователь, я бы НЕ использовал ViewState для хранения данных сеанса, если это вообще возможно. С одной стороны, это не истинное состояние сеанса, если пользователь перемещается назад или вперед, он может быть потерян. Во-вторых, это довольно небезопасно. В-третьих, при злоупотреблении он вызывает массовое раздувание страницы.