Sesje w mvc

0

Witam,

W swojej aplikacji potrzebuję zarejestrować zwykłą sesje jednak mima tak wielu materiałów w Google wciąż otrzymuję błąd którego nie rozumiem.

W Global.asax rejestruje zmienna:

protected void Session_Start()
        {
            HttpContext.Current.Session.Add("TypeSchool", "0");
        }

W jednym z kontrolerów próbuje odczytać bądź ustawić tą zmienną na różne sposoby jednak otrzymuje komunikat:
"Odwołanie obiektu nie zostało ustawione na wywołanie obiektu"

Odczyt zapis robię na różne sposoby, oto jeden z nich:

 

            if (HttpContext.Session["TypeSchool"] != null)
            {
                TypeSchool = (int)HttpContext.Session["TypeSchool"];
            }
            else
            {
                TypeSchool = 1;
            }

Sprawa wydaje się banalnie prosta, jednak w desperacji próbowałem różnie kombinować na rożne sposoby korzystając także z różnych pomysłów znalezionych w Google i nadal mam ten sam błąd. Ostawiając BeakPoint'y w miejscach Session_Start() widziałem że zmienna sesji zatwierdza się prawidłowo jednak przy odczycie otrzymuje null i podany wyżej komunikat.

0

Gdzie przechowujesz sesje i jaki masz timeout ustawiony?

0

Ok, częściowo rozwiązałem problem, nie wiedziałem że to dość istotne ale moja sesja działała w konstruktorze kontrolera, a właśnie wyczytałem że w tym czasie sesja jeszcze nie jest wstrzyknięta dlatego zawsze będzie mieć wartość null i nie będzie działać.
Ja już sobie poradziłem z tym i moje sesje przeniosłem w inne miejsce jednak może tak dla ciekawostki jeśli ktoś wie jak ominąć to jeżeli już sesja musi być w konstruktorze to jak ją odczytać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1