Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 当登录页空闲时取消处理异常错误_Asp.net_Vb.net - Fatal编程技术网

Asp.net 当登录页空闲时取消处理异常错误

Asp.net 当登录页空闲时取消处理异常错误,asp.net,vb.net,Asp.net,Vb.net,我已经在vb.net中开发了一个网站(在我姐夫的帮助下),它几乎可以推出了,只是我在登录时遇到了一个未经处理的异常错误 页面空闲几分钟时显示屏幕。我是vb.net的新手,不是程序员:(非常感谢您的帮助。如果我的帖子中有任何不符合网站标准的地方,请道歉,因为这是我的第一篇帖子。) 我不知道为什么会这样。登录按钮单击时执行的代码为: 受保护的子LoginWizard_FinishButtonClick(ByVal sender作为对象,ByVal e作为System.Web.UI.WebContr

我已经在vb.net中开发了一个网站(在我姐夫的帮助下),它几乎可以推出了,只是我在登录时遇到了一个未经处理的异常错误 页面空闲几分钟时显示屏幕。我是vb.net的新手,不是程序员:(非常感谢您的帮助。如果我的帖子中有任何不符合网站标准的地方,请道歉,因为这是我的第一篇帖子。)

我不知道为什么会这样。登录按钮单击时执行的代码为:


受保护的子LoginWizard_FinishButtonClick(ByVal sender作为对象,ByVal e作为System.Web.UI.WebControl.WizardNavigationEventArgs)处理LoginWizard.FinishButtonClick

    Dim oUsername As String = txtUsername.Text
    Dim oPassword As String = txtPassword.Text

    Dim oPath As String = Server.MapPath("App_Data/IOFR.mdb")
    Dim oValid As Boolean = False

    Dim oReader As System.Data.OleDb.OleDbDataReader = Nothing
    Dim oConnection As System.Data.OleDb.OleDbConnection = Nothing

    Dim oName As String = ""
    Dim oOrg As String = ""
    Dim oUserId As Integer = 0
    Dim oActiveAcc As String = ""
    Dim oSessionExpire As Integer = 0

    Try
        oConnection = New System.Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; Jet OLEDB:Database Password=EdmundColin13", oPath))
        oConnection.Open()

        Dim ipAddress As String = Request.ServerVariables("REMOTE_ADDR")
        Dim cmd As New SqlCommand

        Dim oParams As New List(Of System.Data.OleDb.OleDbParameter)
        oParams.Add(New System.Data.OleDb.OleDbParameter("@pmUsername", oUsername))
        oParams.Add(New System.Data.OleDb.OleDbParameter("@pmPassowrd", oPassword))

        Dim oCommand As New System.Data.OleDb.OleDbCommand("SELECT ID, [Name], Organisation, ActiveAccount, [Password] FROM Users WHERE [Username] = @pmUsername AND [Password] = @pmPassword", oConnection)
        oCommand.Parameters.AddRange(oParams.ToArray)
        oReader = oCommand.ExecuteReader()

        If oReader.Read() Then
            oValid = True
            oName = oReader.GetString(oReader.GetOrdinal("Name"))
            oActiveAcc = oReader.GetString(oReader.GetOrdinal("ActiveAccount"))
            oOrg = oReader.GetString(oReader.GetOrdinal("Organisation"))
            oPassword = oReader.GetString(oReader.GetOrdinal("Password"))
            oUserId = oReader.GetInt32(oReader.GetOrdinal("ID"))
            oSessionExpire = oReader.GetInt32(oReader.GetOrdinal("SessionExpire"))
        End If
    Catch ex As Exception
    Finally
        If Not oReader Is Nothing Then
            If Not oReader.IsClosed Then
                oReader.Close()
            End If
            oReader = Nothing
        End If

    End Try
    If oValid And Not String.Equals(txtPassword.Text, oPassword) Then
        oValid = False
    End If

    If oValid Then

        If oActiveAcc = "No" Then
            Response.Redirect("~/DisabledAccount.aspx")
            Return
        End If

        Session("username") = txtUsername.Text
        Session("name") = oName
        Session("org") = oOrg

        'Generate session id and store it in session
        Dim uniquesessionid As String = Guid.NewGuid().ToString()
        Session("uid") = uniquesessionid

        Dim oCommandSession As New System.Data.OleDb.OleDbCommand("UPDATE Users SET SessionId = @pmid, SessionExpire = '" & DateTime.Now.AddHours(2).ToString() & "' WHERE [ID] = @pmUserid", oConnection)
        oCommandSession.Parameters.Add(New System.Data.OleDb.OleDbParameter("@pmid", uniquesessionid))
        oCommandSession.Parameters.Add(New System.Data.OleDb.OleDbParameter("@pmUserid", oUserId))
        oCommandSession.ExecuteNonQuery()
        Response.Redirect("~/Home.aspx?login=true")
    Else
        txtUsername.BorderColor = Drawing.Color.Red
        txtUsername.BackColor = Drawing.Color.Red
        txtPassword.BorderColor = Drawing.Color.Red
        FailedLogin.Visible = True
    End If

    If Not oConnection Is Nothing Then
        If oConnection.State = Data.ConnectionState.Open Then
            oConnection.Close()
        End If
    End If
End Sub

谢谢大家。这似乎解决了这个问题。


EnableViewStateMAC=“False”

有什么例外?很好的第一个问题顺便说一句-很好的工作张贴相关代码:)我同意这是一个很好的问题,但哪一行是例外抛出?谢谢你的快速反应。我收到一个相当长的信息。我认为关键是:System.Web.HttpException:viewstate MAC验证失败请看这个。我认为需要一个更好的问题解释。它在集群中吗?