This was resolved by turning all the variables to properties with get and set to stop them from caching.
Public Class userinfo
Public Shared Property uNT_id As String
Get
If HttpContext.Current.User.Identity.IsAuthenticated Then
Return HttpContext.Current.User.Identity.Name
Else
Return System.Environment.UserName
End If
End Get
Set(value As String)
If HttpContext.Current.User.Identity.IsAuthenticated Then
value = HttpContext.Current.User.Identity.Name
Else
value = System.Environment.UserName
End If
End Set
End Property
Public Shared Property uid As String
Get
Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).app_user_id
End Get
Set(value As String)
value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).app_user_id
End Set
End Property
Public Shared Property ussn As Integer
Get
Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).ssn
End Get
Set(value As Integer)
value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).ssn
End Set
End Property
Public Shared Property upwd As String
Get
Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).pwd
End Get
Set(value As String)
value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).pwd
End Set
End Property
Public Shared Property uname_first As String
Get
Return db_apps.app_users.First(Function(t) t.NT_id = uNT_id).name_first
End Get
Set(value As String)
value = db_apps.app_users.First(Function(t) t.NT_id = uNT_id).name_first
End Set
End Property
End Class