我有一個MVC應用程序,它根據內部靜態IP地址設置一些會話變量。會話變量不保存在初始頁面加載
我已經構建了一個ApplicationController來覆蓋MVC中的OnActionExecuted子部分,以便在整個應用程序中使用該數據。
但是,下面的代碼只是我代碼的一部分,但是對於我的帖子進行了編輯,但部分代碼無法使用。在初始頁面加載時,會話變量不會被保存,而是在頁面刷新後。我遇到的問題是這些需要保存在初始頁面加載。
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")
集/如果Session("Item1")
是空的,那麼代碼段的其餘部分應運行,並設置這些變量。
這是怎麼沒有在第一次頁面加載時設置這些變量?
感謝提前