переменные сеанса теряются в конкретном сценарии - PullRequest
2 голосов
/ 23 декабря 2009

У меня проблема с потерей переменных сеанса в приложении ASP / VB.NET.

Приложение позволяет искать элемент или отображать элемент, если ему предоставлена ​​уникальная ссылка (в браузере). Содержит информацию об элементе в переменных сеанса.

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

Когда я ищу предмет с помощью поисковой системы и нажимаю кнопку - все работает ОК.

Когда я копирую ссылку в браузер: элемент отображается, однако нажатие кнопки возвращает «нулевое исключение» - переменные сеанса с информацией об элементе теряются. Более того, когда я предоставляю ссылку во второй раз, кнопка работает, переменные есть !!!

Кто-нибудь знает, почему это может происходить?

1 Ответ

1 голос
/ 23 декабря 2009

Походит на крайний случай, когда Сеанс ("your_variable") не инициализируется должным образом на основе информации о ссылке.

Что нужно исследовать:

Обрабатывается ли страница вне кеша при первоначальном указании ссылки? ASP.NET будет кэшировать содержимое и не будет выполнять код на стороне сервера, поскольку страница не создается снова по запросу. Если у вас есть код, который инициирует какое-то состояние при загрузке страницы, на которое позже ссылаются при нажатии кнопки, это действительно может быть вашей проблемой.

...