ReportDocument.Close() について、以下2点お伺いさせていただ
けないでしょうか。
(経緯)
CrystalReports for VS2010 を使用した帳票出力業務にて、75回目の帳票印刷時に「システム管理者が設定したレポート処理ジョブの最大数に達しました。」というエラーが発生致しました。
CrystalReportsは、ブラウザでのプレビュー、および、pdfエクスポート~プリンタ印刷の2種類の処理で使用しております。
pdfエクスポートは、サーバサイドで行うサービスを作成しております。
pdfエクスポートを行いますサービスにて使用しております、ReportDocument変数の Closeメソッド呼び出しを追加致しましたところ現象が回避されました。
(お伺い事項)
1.ASP.NETのWebアプリケーションにて、帳票プレビューのために CrystalReportViewerおよび、CrystalReportSourceコントロールを使用しております。
Webアプリケーションという性格上、CrystalReportSource.ReportDocumentは明示的に Close してはおりません。
また、ブラウザーからのプレビューにおきましては、75回以上表示しても、レポート処理ジョブの最大数エラーが発生することはございませんでした。
WebサーバにはIISを使用しておりますが、こちらのセッション管理などと連動して、Closeないしは、レポート処理ジョブの制御が行われると考えてよろしいでしょうか。
Close()の呼び出しを、何かのタイミングで実行する必要はございますでしょうか。
2.WinFormアプリケーションのリモートサービスとして、ReportDocument.FormatEngine を使用したpdfエクスポート処理を行っております。
このサービス内では、ReportDocumentをnewしているのですが、メソッドのスコープ内の変数です。
ヘルプのサンプル(ReportDocument.Loadメソッド)には、Closeの記述が無かったため、自動的にリソース開放されると考えておりました。
Close実行のガイドラインがございましたら、お手数ですが、ご教示いただけないでしょうか。
(CrystalReportViewer.ReportSource に設定した場合は、Close不要で、それ以外でReportDocument単独で使用する場合は、Close必須、などです)
何卒、よろしくお願い申し上げます。