У меня есть приложение MVC, которое устанавливает некоторые переменные сеанса на основе внутренних статических IP-адресов.
Я создал ApplicationController для переопределения подпрограммы OnActionExecuted в MVC для данных, которые мне нужно использовать во всем приложении.
Однако приведенный ниже код, который является лишь фрагментом моего кода, но отредактирован для моего поста, работает только частично. При начальной загрузке страницы переменные сеанса не сохраняются, но после обновления страницы они сохраняются. У меня проблема в том, что они должны быть сохранены при начальной загрузке страницы.
If Session("Item1") = Nothing Then
If IpAddressShort <> "" Then
Dim locInfo = cmsRepository.GetInfoBasedOnLocation(IpAddressShort).SingleOrDefault()
If locInfo IsNot Nothing Then
Session("Item1") = locInfo.Item1
Session("Item2") = locInfo.Item2
Session("Item3") = locInfo.Item3
Session("Item4") = locInfo.Item4
If locInfo.Item2= "1" Then
Session("Visibility") = 3
Session("TypeShort") = "XXXX"
ElseIf locInfo.Item2= "2" Then
Session("Visibility") = 4
Session("TypeShort") = "YYYY"
ElseIf locInfo.Item2= "9" Then
Session("Visibility") = 2
Session("TypeShort") = "ZZZZZ"
End If
End If
End If
End If
Теоретически, если я прав, если нет Session("Item1")
set /, если Session("Item1")
пусто, тогда остальная часть фрагмента должна запуститься и установить эти переменные.
Почему это не устанавливает эти переменные при первой загрузке страницы?
Спасибо за любую помощь заранее