Рассматривайте пользователя, делающего несколько запросов одновременно, мне нужно заблокировать весь код, который работает с сеансом?
Если, например, у меня есть следующий сценарий, где на одной вкладке его браузера пользователь открывает страницу, а во втором он выходит из системы.
Запрос 1:
if(Session["user"] != null)
lblName.Text = Session["user"].Name;
Запрос 2:
if(logout)
Session["user"] = null;
Возможно ли, что Request 1 генерирует исключение NullPointerException при доступе к свойству Name? Нужно ли мне блокировать код в запросе 1, чтобы убедиться, что пользователь все еще существует после проверки на нуль? Или ASP.NET справляется с этим автоматически каким-то образом?