Я думаю, что вы неправильно понимаете сессии в ASP.NET. Вы не управляете ими явно (хотя вы могли бы, вы бы редко этого хотели), они неявно создаются и уничтожаются ASP.NET и IIS. Каждому пользователю предоставляется сеанс.
Теперь все, что вы храните в сеансе пользователя, хранится в памяти на сервере, поэтому, если вы регулярно размещаете большие объекты в сеансах каждого пользователя, это приведет к быстрому росту памяти, что приведет к проблемам производительности и масштабируемости.
Единственные данные, которые вам нужно сохранить в сеансе, - это временные данные, которые вы хотите, чтобы они были доступны для разных запросов страниц, которые вы хотите защитить, чтобы они не были доступны клиенту в файле cookie или аналогичной конструкции.
Однако читать то, что вы делаете, скорее всего, не нужно. Поскольку вы работаете с определенной страницей и функциями «директора», это, скорее всего, будет целесообразно разместить на странице в состоянии просмотра в качестве промежуточного хранилища данных.