Сеанс равен Null (сеанс вообще отсутствует) в классе, но сеанс существует при доступе со страницы aspx

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

  • Я синхронизировал его изменения, и та же проблема возникает на моей машине разработки. (т.е. это не специфично для IIS)
  • При дальнейшей проверке объект сеанса полностью исчезает (нет сеанса, даже пустого сеанса с идентификатором сеанса. Любая попытка доступа к HttpContext.Current.Session выдает ошибку null reference exception.
  • Запуск кода страницы снова после установки некоторых переменных сеанса показывает, что все переменные сохранены и работают нормально в сеансе, к которому я могу получить доступ с самой страницы. (Объект сеанса ведет себя как обычно)
  • Итак, чтобы быть ясным, в том же процессе, отладке от страницы до пользовательского класса, объект сеанса доступен на странице, не существует в пользовательском классе, и при возврате на страницу он снова доступен.
  • Я попытался установить только обычную строковую переменную сеанса, чтобы устранить возможные проблемы с моей переменной (объектом), хранящейся в сеансе. Та же проблема сохраняется.

Любые идеи?


person Louis van Tonder    schedule 22.07.2014    source источник


Ответы (1)


Хорошо, тогда... всегда помогает отскочить от стены :-)

Мы использовали расширитель автозаполнения текстового поля, который ссылался на наш собственный webmethod (внутри нашего приложения в пользовательском классе). Кажется, украшение webmethod заставило его работать без гражданства... следовательно, нет сеанса.

Мы переместили эту webmethod оформленную функцию на нашу страницу с программным обеспечением страницы, и теперь она вызывает другие пользовательские классы «с» доступностью объекта сеанса.

person Louis van Tonder    schedule 22.07.2014