Если каждый пользователь получит одно и то же меню:
Вам следует подумать о том, чтобы поместить его в приложение «Кэш» - приложение [«MyMenu»] или в статическое поле одного из ваших объектов.
Основная причина этого - жизнь. Если вы поместите его в объект уровня приложения, он будет длиться в течение всего жизненного цикла приложения. Помещение его в объект уровня сеанса приведет к его потере по окончании сеанса - поскольку сеанс запускается для каждого пользователя, вы вскоре обнаружите, что восстанавливаете данные.
С другой стороны ... если он уникален для пользователя:
Сессия предоставляет удобное место для размещения этих данных, поскольку они уникальны для этого пользователя и не будут существовать долго после того, как этот пользователь покинет сайт.
Также подумайте о:
Если вы действительно думаете, что память будет проблемой, или вы хотите точно определить, как долго вы ее храните в течение
Положи его в кеш. Вы можете определить, сколько времени он живет в кеше, и, кроме того, кэш начнет сбрасывать объекты, когда ему не хватает памяти - поэтому он более чувствителен к загрузке, чем другие опции.
Хорошее обсуждение Сеанс против Cache на SO уже
Дополнительно
Вы уверены, что ваше меню такое большое? Если это так, вы можете рассмотреть альтернативы - насколько вы говорите?