What is the best way to transfer a large dataset through the ASMX web service?

I inherited a C # .NET application that talks about a web service, and a web service to an Oracle database. I need to add an export function to the user interface in order to create an Excel spreadsheet of some data.

I created a web service function to run a database query, load data into a DataTable and then return, which works fine for a small number of rows. However, in full perspective, there is enough data that the client application blocks for several minutes, and then returns a timeout error. Obviously, this is not the best way to get such a large dataset.

Before I go ahead and come up with some dodgy way to break the challenge, I wonder if there is anything in place that can handle this. At the moment, I’m thinking about the startExport function, and then I call the next50Rows function again until no data remains, but since the web services have no status, this means that I will have to store some kind of identification number and work with the associated permissions. This would mean that I do not need to load the entire data set into the web server memory, although this is one good thing.

So, if someone knows the best way to get a large amount of data (in table format) through the ASMX web service, let me know!

+3
source share
6 answers

- , , .

  • .
  • n , n datatables .
  • /datatable. ( ) . , /datatable. .NET, , - SharpZipLib. .
  • , , .

.

+6

SSRS, . , .NET - SSRS Excel ( ). . .asmx this SSRS WCF.

- , .

+2

WCF ( - , ). oData, ( .NET -) ( , ). IQueryable, .

+2

. "" " MSDN.

- ASMX, .

+1

: , .

, , - webservice. ? -.

, , webservice , Reporting Services . :)

0

Source: https://habr.com/ru/post/1750214/


All Articles