Solved

how to fix web method error: Thread was being aborted: HttpContext.Current.Response.[End]()

Posted on 2012-03-17
3
2,496 Views
Last Modified: 2012-04-10
hi,

I have web method to download csv file (from datatable) using jquery ajax

now everything is fine, but when the code reached to line:
HttpContext.Current.Response.[End]()
its exiting the method, and returning this error message in firebug: Thread was being aborted.

I tried to remove this line, but I didn't get the file to be saved,

here is my code:

    <WebMethod()> _
    Public Shared Function ExportReportAjax(ByVal ExportType As Integer, ByVal DataToExport As String) As String

        Dim clientID As String = HttpContext.Current.Session("ClientID")
        Dim strCheck As String = "Select Client_ClassID from dbo.CTS_Clients where Client_ID= " & clientID

        Dim dsCheck As DataSet = clsDB.getData(strCheck)

        Dim response As HttpResponse = HttpContext.Current.Response

        ExportToSpreadsheet(dsCheck.Tables(0), "asfas")

        Return ""
    End Function

    Public Shared Sub ExportToSpreadsheet(ByVal table As DataTable, ByVal name As String)
        Dim context As HttpContext = HttpContext.Current
        context.Response.Clear()

        For Each column As DataColumn In table.Columns
            context.Response.Write(column.ColumnName + ";")
        Next

        context.Response.Write(Environment.NewLine)

        For Each row As DataRow In table.Rows
            For i As Integer = 0 To table.Columns.Count - 1
                context.Response.Write(row(i).ToString().Replace(";", String.Empty) & ";")
            Next
            context.Response.Write(Environment.NewLine)
        Next

        context.Response.ContentType = "text/csv"
        context.Response.AppendHeader("Content-Disposition", "attachment; filename=" & name & ".csv")
        context.Response.[End]()
    End Sub

Open in new window

0
Comment
Question by:njgroup
3 Comments
 
LVL 18

Expert Comment

by:Rajar Ahmed
ID: 37734122
'While using update panel , Response.end makes this problem . You can skip that exception by the below way .

Public Shared Sub ExportToSpreadsheet(ByVal table As DataTable, ByVal name As String)
try
        Dim context As HttpContext = HttpContext.Current
        context.Response.Clear()

        For Each column As DataColumn In table.Columns
            context.Response.Write(column.ColumnName + ";")
        Next

        context.Response.Write(Environment.NewLine)

        For Each row As DataRow In table.Rows
            For i As Integer = 0 To table.Columns.Count - 1
                context.Response.Write(row(i).ToString().Replace(";", String.Empty) & ";")
            Next
            context.Response.Write(Environment.NewLine)
        Next

        context.Response.ContentType = "text/csv"
        context.Response.AppendHeader("Content-Disposition", "attachment; filename=" & name & ".csv")
        context.Response.[End]()
return ""
catch ex as exception
 if (instr(lcase(ex.message),"thread was being aborted") then
return "" 
end if
end try
end sub
0
 

Author Comment

by:njgroup
ID: 37734148
same error, even in try catch, the error is thrown !
0
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 500 total points
ID: 37734950
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question