Vb.net 在新线程结束时重定向到另一个页面会生成异常

Vb.net 在新线程结束时重定向到另一个页面会生成异常,vb.net,multithreading,Vb.net,Multithreading,我有一个显示表单的网页。此表单上有一个Visible=FALSE的。一旦用户填充了表单,并且用户单击了一个按钮,代码隐藏将把更改为Visible=True并启动一个新线程。这允许显示一个旋转的轮子并显示“请稍候…”新线程执行一些需要几秒钟的处理。在新线程完成处理后,我需要重定向到另一个页面。这是启动新线程的代码: Session("Finished") = "False" If Not continue_button() Then ts =

我有一个显示表单的网页。此表单上有一个Visible=FALSE的
。一旦用户填充了表单,并且用户单击了一个按钮,代码隐藏将把
更改为Visible=True并启动一个新线程。这允许
显示一个旋转的轮子并显示“请稍候…”新线程执行一些需要几秒钟的处理。在新线程完成处理后,我需要重定向到另一个页面。这是启动新线程的代码:

        Session("Finished") = "False"
        If Not continue_button() Then
            ts = New ThreadStart(AddressOf LongRunningProcess)
            th = New Thread(ts)
            th.Start()
            panelWait.Visible = True
        End If
这是龙润过程的代码

Protected Sub LongRunningProcess()
    Dim zoho_autoCustNo As Integer = 0

    zoho_autoCustNo = Val(saveDatatoZoho())
    submitpmt(zoho_autoCustNo)
    Session("Finished") = "True"
    Try
        Response.Redirect("new_signup_thank_you.aspx", False)
    Catch ex As Exception

    End Try
    Response.Redirect("new_signup_thank_you.aspx", False)
End Sub
LongRunningProcess中的Response.Redirect抛出一个异常,但我不知道如何捕获它,忽略异常,仍然执行Response.Redirect

非常感谢您的帮助


Jonathan

那么什么是异常???它生成一条“HttpException was unhandled”消息。它在第二个Response.Redirect中生成。当我通过VisualStudio跟踪它时,它执行Try并失败,因此它执行Catch中的代码(这根本不是代码)。然后退出Try,响应失败。重定向。删除/注释掉
Try
/
Catch
,请给我一条更详细的错误消息。@JonathanSmall,这行不通。您已经将响应发送到客户端,新线程无法访问它。无论如何,您都不应该在asp.net中启动自己的线程。最后,这不是一个解决方案,正确的重定向方法是:
Response.redirect(url,false)Context.ApplicationInstance.CompleteRequest()
I取出Try/Catch并再次生成错误。这是我复制到剪贴板的内容:System.Web.HttpException未处理错误代码=-2147467259 HResult=-2147467259消息=响应在此上下文中不可用。Source=System.Web WebEventCode=0