Где мы должны управлять объектами сеанса в приложении ASP.NET? - PullRequest
1 голос
/ 25 мая 2010

Я занимаюсь разработкой веб-приложения на ASP.NET C # с тремя утомлениями, и мне было интересно, где следует управлять сессиями. У меня есть класс SessionManager следующим образом:

public sealed class SessionManager
        {
            private const string USER = "User";
            private SessionManager()
            {
            }

            public static SessionManager Instance
            {
                get { return _instance; }
            }


            public User User
            {
                get { return HttpContext.Current.Session[USER] as User; }
                set { HttpContext.Current.Session[USER] = value; }
            }
    }

Теперь следует управлять информацией о сеансе на уровне бизнес-логики или на уровне представления?

Ответы [ 2 ]

2 голосов
/ 25 мая 2010

В ASP.NET, Viewstate, Session & Cookies должны управляться на уровне представления.

Кэширование - это, пожалуй, единственная вещь, для которой вы должны разорвать слабую связь ... и она должна управляться на уровне Business или Facade, когда вы хотите кэшировать данные.

1 голос
/ 25 мая 2010

Обычно объект Session должен использоваться только на уровне представления, в противном случае вы добавляете специфическую веб-логику (презентацию) на свой бизнес-уровень. Вы бы сломали слабую муфту.

Если бы мне пришлось разорвать слабую связь, я бы сделал это для чего-то лучшего, чем объект Session: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...