Nhibernate с Asp.net WebForms - сессия за запрос - PullRequest
0 голосов
/ 06 мая 2011

Я использую HttpModule для открытия сеанса, охватывающего каждый запрос, и он прекрасно работает с отложенной загрузкой и всем.

Меня беспокоит то, что, поскольку я открываю новый сеанс для каждого запроса (и храню его в HttpContext.Current.Items) открывает сеанс для каждого запроса, даже для запроса, включая файлы .css и изображения.Я вспоминаю, что читал, что создание сеанса - довольно легкая операция (хотя я не знаю о транзакциях), но в любом случае кажется ненужным открывать сеанс для запросов на файл .css?

Кто-нибудь получил некоторые идеи по этому поводу?это проблема и / или я делаю что-то глупое?

Заранее спасибо

1 Ответ

8 голосов
/ 06 мая 2011
  • создайте объект сеанса только в том случае, если тип файла .aspx или .ashx:

        switch (context.Request.CurrentExecutionFilePathExtension.ToLower())
        {
            case ".aspx":
            case ".ashx":
                context.Items[ContextKey] = CreateMySession();
                break;
        }
    
  • или инкапсулируйте создание сеанса в получателе свойства, и очистка проверяет, является ли session != null

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