2011-06-30 4 views
1

Я получаю исключение StackOverflowException в выделенной строке кода в фрагменте ниже, который находится в файле Global.asax.cs, может кто-нибудь рассказать мне, почему это может произойти?HttpContext.Current.Session дает исключение StackOverflowException?

Код:

public static HttpSessionState CurrentSession 
     { 
      get 
      { 
       if (HttpContext.Current == null) 
        return null; 
       return HttpContext.Current.Session; 
      } 
     } 

Спасибо, Алекс.

+0

Можете ли вы опубликовать трассировку стека? – ata

+0

Это не дает мне трассировку стека, похоже, происходит во внешнем коде или в другом потоке или что-то в этом роде. –

+0

Вы уверены, что код, который вызывает вашу собственность, не постоянно тянет его значение, пока оно не будет * не * null? – MartinHN

ответ

1

Ответ на вопрос: «Ваш переполнение стека здесь не происходит. Возможно, отправите код, который вызывает это - код, который задействован в переполнении стека (поскольку вы, вероятно, называете это из нескольких мест). - Eben Roux Jun 30 at 4:37 «

Это происходило в коде, который запрашивает CurrentSession, но это только то, что он ломал.

0

Я не вижу точной строки, выделенной в примере кода. Он «чувствует», как бесконечная рекурсия. Я не знаю, как это произойдет, если какая-то сессия не возобновит сеанс, и так далее. Наверное, не проблема, но это мысль.

Смежные вопросы