0

List(of String)で作成したを含むセッションがありますMain.aspx。私の場合Global.asax、次のコードを実行して、Sessiona が起動された後に値を取得しますTimer

  Private Sub Application_AcquireRequestState(sender As Object, e As EventArgs)
        If System.Web.HttpContext.Current.Session IsNot Nothing Then
            If Session("Products") IsNot Nothing Then
                Response.Write(Session("Products").ToString())
            End If
        End If
    End Sub

ただし、Session("Products")Null を返し、Sub終了します。End SubMain.aspxリリースされているので、が発火Sessionするたびにが空になるのではないかと思います。何かご意見は?TimerSession

4

1 に答える 1

0

Main.vb コード ビハインドでは、継承 System.Web.SessionState.IRequiresSessionStateされるものに加えて、必ずインターフェイスを継承してください。

このようなものが動作するはずです:

Public Class Main 
    Inherits System.Web.UI.Page, System.Web.SessionState.IRequireSessionState
' Your application code
End Class

ASP.NET Web ページは既にセッション データを処理する必要があるため、これは奇妙な動作です。通常、IRequireSessionStateジェネリック ハンドラー (.ashx) は既定でセッション データをサポートしていないため、継承します。

于 2013-04-10T17:35:45.767 に答える