W mojej aplikacji internetowej, robię coś takiego czytać zmienne sesji:Co należy zrobić, jeśli bieżąca sesja ASP.NET ma wartość zerową?
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
rozumiem, dlaczego ważne jest, aby sprawdzić, dlaczego HttpContext.Current.Session [ „MyVariable”] ma wartość null (zmienna nie może zostały zapisane w sesji jeszcze lub sesja została zresetowana z różnych powodów), ale dlaczego muszę sprawdzić, czy HttpContext.Current.Session
ma wartość null?
Moje zrozumienie jest, że sesja jest tworzona automatycznie przez ASP.NET dlatego HttpContext.Current.Session nigdy nie powinien być zerowy. Czy to założenie jest poprawne? Jeśli może być null, to znaczy powinien również sprawdzić go przed zapisaniem czegoś w nim:
if (HttpContext.Current.Session != null)
{
HttpContext.Current.Session["MyVariable"]="Test";
}
else
{
// What should be done in this case (if session is null)?
// Is it possible to force the session to be created if it doesn't exist?
}
ASP.NET WebAPI będzie mieć zróżnicowanego zachowania, można sprawdzić to na [Wejście Session Korzystanie ASP.NET Web API] (http://stackoverflow.com/questions/9594229/accessing-session-using -asp-net-web-api? answerertab = głosy # tab-top) –