Crystal Reports(XI)がWCFサービスでホストされているアプリでパフォーマンスの問題が発生しています。パフォーマンスプロファイラーの助けを借りて、ReportDocument.Loadの呼び出しに10秒以上かかることがわかりました。さらに深く掘り下げると、最も問題となるのはReportClientDocumentClass.Openメソッドにあります。これには10秒かかります。
Loadメソッドを次のように呼び出しています。
dim doc As ReportDocument = New CrystalDecisions.CrystalReports.Engine.ReportDocument
doc.Load("filename")
レポートファイルは、サービスと同じサーバーでホストされます。
ReportDocument.Loadの「スタックトレース」は次のようになります。
ReportDocument.Load
ReportClientDocumentWrapper.EnsureDocumentIsOpened
ReportClientDocumentWrapper.Open
ReportClientDocumentClass.Open
そして、私が上で述べたように、ReportClientDocumentClass.Openへの呼び出しは「ぶら下がっている」ものです。これを引き起こす可能性のあるアイデアはありますか?