I assume that this data should be completely sent to the client and already pre-filtered in some way, but should still be sent back to the person who made the request.
In this case, you want to perform this operation asynchronously. Iโm not sure if this will correspond to your workflow, but Iโll say that a person requests this large document in XML format, I would: a) turn on another workflow to start generating the document, returning a โtokenโ (perhaps the GUID for the requestor persons); b) return the link to the page on which the requestor can click the link (transfer the token), allowing the page to search for results.
If the stream has finished processing the document, it places it in a special folder with a unique name and adds a token to the database table indicating the location of the document. If a person requests this page, a token exists in the database, and the document exists in the file system, they are allowed to click and download it via HTTP. If this does not exist, they either say that it does not exist, or wait for the results. (This message may be based on the time the request was received.)
If a person uploads a document successfully (and you can do it through a script), you can delete the database entry for the document with this token and delete the file from the file system.
Hope I read this question correctly.
source share