代码之家  ›  专栏  ›  技术社区  ›  Youssef

如何检查asp会话是否有效?

  •  0
  • Youssef  · 技术社区  · 17 年前

    this Question 使用Java。

    这是我现在在page_preinit事件中使用的代码。它看起来很丑,但它有效。

                Try
                    Dim x = Session.Keys().Item(0)
                Catch ex As Exception
                    Session.Clear()
                End Try
    

    有人知道更好的方法吗?

    谢谢

    3 回复  |  直到 9 年前
        1
  •  1
  •   PortageMonkey    17 年前

    C

    if(Context.Session != null)
    {
        //Redirect to login page etc
    }
    

    VB(这里使用了C#到VB的转换器。不确定这是否正确)

    If Context.Session IsNot Nothing Then
        'Redirect to login page etc
    End If
    

    如果您正在使用表单身份验证,并且设置正确,它应该会为您重定向。如果你仍然需要明确,我建议把这类代码放在Global.asax中,或者放在每个页面都可以派生的基类中,而不是把它添加到每个请求中。

        2
  •  0
  •   Ahmad Mageed    16 年前

    实际上,我通过检查会话的第一个元素(session.item(0))解决了这个问题

    所以在premit事件中,我的代码看起来像这样

    Private Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
        Try
            Dim x = Session.Keys().Item(0)
        Catch ex As Exception
            Session.Clear()
        End Try
    End Sub
    

        3
  •  0
  •   dudeNumber4    16 年前

    只需查看会话。计数而不是尝试访问错误处理块中的第一个项目。..

    推荐文章