我又个项目,其中两个层用到session.
1.web层,直接是asp.net页面的代码
UIProcess层, 供页面调用的类层,引用System.web 使得可以直接访问session
在代码运行中,UIProcess层会设置session.
        Public Shared Sub ShowInfoPage(ByVal info As InfoPageInfo)
            Session.Item(
"InfoPageInfo"= info
            Load(PageIdItem.InfoPage)
        
End Sub
在session中储存info对象

在页面中,会读取这个session

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
'在此处放置初始化页的用户代码
        'If Not IsPostBack Then
        'Try
        Dim info As InfoPageInfo
        info 
= CType(Session.Item("InfoPageInfo"), InfoPageInfo)
        
With info
            
If Not .infoHeader = String.Empty Then Me.infoHeaderText = .infoHeader
            Me.InfoMessage 
= .infoMessage
            
If Not .RedirectUrl = String.Empty Then Me.RedirectUrl = .RedirectUrl
            
If Not .RedirectMessage = String.Empty Then Me.RedirectMessage = .RedirectMessage
        
End With
        
'Catch ex As Exception

        
'End Try
        'Session.Item("InfoPageInfo") = Nothing
        ' End If
    End Sub

在调试运行中,这个设置和读取是没问题的。
但隔一段时间后,再去做同样的操作,设置部分代码允许正常,但读取部分总返回nothing.
困惑中,有人知道为什么不?