Как правило, не стоит так интенсивно использовать сессию, но это зависит от того, какие данные там хранятся.Если это набор строковых и целочисленных значений, это, вероятно, не слишком важно, но если они хранят надежные объекты и / или большие наборы данных в сеансе, я определенно рассмотрю его рефакторинг.
Как правило, я стараюсь избегать использования сессии для чего-либо, кроме пользовательских данных.Может быть заманчиво использовать сессию для других целей, но с хорошим дизайном и реализацией вам не нужно.
Вот несколько руководящих принципов, где хранить вещи:
Для данных, которые специфичны для пользователя и к которым часто обращаются во всем приложении, используйте сеанс, чтобы уменьшить количество обращений к базе данных
Для данных, которые больше илименее статичный и не зависящий от пользователя или связанный с ним, используйте кэш или состояние приложения, чтобы уменьшить количество обращений к базе данных
Для данных, относящихся к конкретной странице, используйте ViewState и / или скрытые поля,Однако не используйте ViewState для хранения больших объектов или наборов данных
Для данных, которые считаются безопасными для пользователей, рассмотрите возможность использования QueryString для передачи информации со страницы на страницу
Вышеуказанные принципы обычно направляют вас в правильном направлении, но, как и во всем, есть исключения.Просто подумайте, где вы храните данные и зачем храните их там, и у вас все будет хорошо.