获取线程在asp中被中止

时间:2015-12-29 22:24:15

标签: asp.net

我正在试图在ASP页面中创建一个非常大的文本文件,但我正在获取线程被中止异常而我没有使用Response.Redirect / Server。 你知道我为什么会这样吗?或者,如果你能告诉我另一种在ASP中创建大文本文件的方法吗?

引起我注意的是这个异常并不总是发生,我第一次运行时会运行它,但是下次我运行3到4次异常发生然后再次运行。

GetTextFileName(Byval filename as String) as Boolean
    If Directory.Exists(Server.MapPath("./Report/E005/Texts")) Then
        Directory.Delete(Server.MapPath("./Report/E005/Texts"), True)
        Directory.CreateDirectory(Server.MapPath("./Report/E005/Texts"))
    Else
        Directory.CreateDirectory(Server.MapPath("./Report/E005/Texts"))
    End If
    While continue
        cmd.Parameters.Clear()
        cmd.Parameters.Add(New OracleParameter("p_minus", minus))
        cmd.Parameters.Add(New OracleParameter("p_max", max))
        p = New OracleParameter("p_report", OracleType.Cursor)
        p.Direction = ParameterDirection.Output
        cmd.Parameters.Add(p)
        dt = ejecutar.consulta(cmd, "Report").Tables(0)

        If dt.Rows.Count > 0 Then
            'Writes File
            Dim x As String = Me.GenerateTXT(dt, FolderRoute, fileName & fileCounter.ToString & ".txt", minus)
            dt = Nothing
        ElseIf minus <= 1 Then
            'There was not data
            MsgBox1.ShowMessage("There was not data")
            continue = False
        Else
            'There was not data but I'm not in first page, so I finished data
            continue = False
        End If
        minus += 100000
        max += 100000
        FileCounter += 1
    End While
    'Generate ZIP
    If File.Exists(Server.MapPath(ZipFolder) & ZipName & ".zip") Then
        File.Delete(Server.MapPath(ZipFolder) & ZipName & ".zip")
    End If
    zip.AddDirectory(Server.MapPath(RouteFolder))
    zip.Save(Server.MapPath(ZipFolder) & ZipName & ".zip")
    filename = Server.MapPath(ZipFolder) & ZipName & ".zip"
    Return True
 End Function

1 个答案:

答案 0 :(得分:0)

我继续调试,我发现删除和创建文件夹的部分是触发异常的部分。我是这么认为的,因为我对那部分进行了评论,并且异常没有再次触发。 但我不知道为什么会出现问题...