我正在尝试使用 Try/Catch 来处理与数据库的潜在失败连接。Catch 部分中有一个 Response.Redirect 命令。每当页面加载时,无论 Try 部分中的代码是否失败,它都会根据 Catch 部分重定向。
如果我注释掉 Catch 部分中的 Response.Redirect 命令,页面加载得很好。同样,如果我用代码替换 Response.Redirect 命令以填充页面上的控件,假设错误被捕获,则 Try 部分成功。这是关于在 Catch 部分中有 Response.Redirect 的东西......
Private Sub Page_Load(Sender As Object, e As eventargs) Handles Me.Load
Try
Dim sqlcon As New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("SarcoidsConnectionString").ConnectionString)
Dim cmd As New System.Data.SqlClient.SqlCommand("SELECT PortalEnabled FROM [tlkSettings]", sqlcon)
sqlcon.Open()
Dim dbReader As System.Data.SqlClient.SqlDataReader = cmd.ExecuteReader()
If dbReader.HasRows Then
While dbReader.Read()
If dbReader("PortalEnabled") = True Then
Response.Redirect("~/SubmitWizard.aspx")
Else
Response.Redirect("~/Maintenance.aspx")
End If
End While
End If
sqlcon.Close()
Catch ex As Exception 'Display Maintenance page if database cannot be connected to
Response.Redirect("~/Maintenance.aspx")
End Try
End Sub