$ _SESSION механизм использует cookie.
В случае Firefox (и возможно новый IE, я не проверялся), который означает, что сессия совместно используется открытыми вкладками . Это не что-то, что Вы ожидаете по умолчанию. И это означает, что сессия больше не является "чем-то характерным для единственного окна/пользователя".
, Например, при открытии двух вкладок для доступа к сайту, чем зарегистрированный как корень с помощью первой вкладки, Вы получите полномочия пользователя root в другом.
, Который действительно неудобен, особенно если Вы кодируете почтовый клиент или что-то еще (как электронный магазин). В этом случае необходимо будет управлять сессиями вручную или представить постоянно повторно создаваемый ключ в URL или сделать что-то еще.
Вы хотите Concat
:
return GetThePrimaryIds().Select(id => GetColorById(id)).Concat(
GetTheOtherIds().Select(id => GetOtherColorsById(id)));
Также обратите внимание, что вам не требуется yield return
в лямбдах.