HttpContext.Current.Session является нулевым запрашивающим изображениями.Зачем? - PullRequest
1 голос
/ 12 мая 2011

Я создаю приложение ASP MVC.

Когда я запрашиваю маршрут к контроллеру, например:

http://myserver/sales/id/5

объект сеанса HttpContext.Current.Session работает отлично.

Однако, когда я запрашиваю изображение или скрипт, например:

http://myserver/Scripts/jquery-1.4.1.js

объект сеанса HttpContext.Current.Session равен null

Как я могу отличить эту ситуацию от другой, когда нет "реального" сеанса (например, первый вход в систему)?

Ответы [ 2 ]

4 голосов
/ 12 мая 2011

Зачем вам нужен сеанс для извлечения статического файла?

Если вы не используете динамический обработчик, для сеанса абсолютно не требуется извлекать такой контент.

Я хочу сказать, что сессия не служит какой-либо полезной цели для извлечения статического контента, поэтому она недоступна.

2 голосов
/ 12 мая 2011

@ Одед прав, это оптимизация в asp.net.Если вам нужно, чтобы сеанс был доступен, то вам потребуется запрос к обработчику, который указал, что ему нужен сеанс.Если вы пишете свой собственный обработчик, то ему просто нужно реализовать интерфейс маркера IRequiresSessionState .

Эта оптимизация не только для текущего запроса, но и для любых параллельных запросов, которые вы делаетепоскольку несколько запросов, использующих один и тот же сеанс, обрабатываются последовательно.Прочитайте мое сообщение в блоге для получения дополнительной информации об этом.

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