asp.net usage of web viewer and postback problems
Posted on 2006-11-20
I am getting the error: The maximum report processing jobs limit configured by your system administrator has been reached, using CRW XI R2.
This error is occuring on a custom web reporting application previously running well in crystal 10 (Enterprise). I have researched the problem to be my lack of calling a reportdoc.dispose on page_unload. Here's my problem. I am using asp.net 1.1, and I am using the crystal reportviewer. Most reports are multi-page, so the users run the report and browse around it as needed. To keep the report from re-running as they page through, I am caching the reportdocument to a session variable, and restoring it if the session variable is intact. My problem is that if I do not call reportdocument.dispose in page_unload, I get the The maximum report processing jobs limit configured by your system administrator has been reached error. If I call the dispose, when pagination occurs, I cannot rely upon my cached reportdocument, and I get another error (invalid object). I think it’s pretty inefficient to re-run the report between every page, some take 15-20 seconds to process. I also launch one of 12 different reports to separate popup windows for viewing, so it is important that each popup window retain it’s own state. Can you assist me with a strategy for doing this effectively? BO samples that are distributed with the report tool do not dispose their reportdocuments at all.
I have thought about pulling the dataset first, and caching that and pushing it at the report, but I would prefer not to rewrite the reports. One BO tech came up with a solution where JS onclose launched a cleanup which was pretty ugly. I am hoping that there are perhaps techniques for caching the report object that can make this work.
Note that expanding the number of reports using the registry key is not a valid solution, without a dispose, the sessions are closing leaving the reportdocuments open.