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!
source
share