時々、ABCpdfはメモリ不足になります
質問
私が取り組んでいるプロジェクトは、ABCpdf.Netと呼ばれるVB.Net WebシステムでダイナミックPDFを構築するためにサードパーティのコンポーネントを使用しています。 (ひどいツールではありませんが、すばらしいツールでもありません。)
ときどき、推測できない理由で、ドキュメントオブジェクトはSEHExceptionをスローします。さらに掘り下げると、これはタイプWebSupergoo.ABCpdf6.Internal.PDFExceptionのドキュメントオブジェクトのカスタム例外が原因であることがわかります。コンテンツには、非常に役立つタイトルではない"画像データを取得できません。メモリ不足"通常、これはPDFに画像を追加しようとしたときに発生します。これらの画像は100K未満のPNGであるため、サイズは問題ではないと推測しています。
また、本当に奇妙なことは、この問題が発生し始めたら、それを停止させる唯一の方法は、Webサーバーを再起動することであるように見えることです。
この問題が発生した人はいますか(またはこのツールを使用しましたか?)
解決 2
3か月後の更新:
私が知る限り、メモリの問題はABCpdf 6から7にアップグレードしたときにすべて解決されました。バージョン7はもはや.NETラッパーを備えたCOMオブジェクトではなく、下のすべてのマネージコードのようですアップ。まだそこにある最大のPDFジェネレーターではありませんが、リソース処理の問題は解決されたようです。
他のヒント
魅力的。私は何が起こっているのかという結論に達しました。 usingブロックの最後でdoc.Clear()を呼び出しますか?
このエラーは特に見たことがありませんが、ABC PDFでメモリの問題が発生したことがあります。
簡単に言えば、完全にマネージされたコードベースではなく、COMバージョンの単なる.NETラッパーです。そうは言っても、メモリ使用の問題は、オブジェクトを適切に破棄しないことに起因します。
したがって、代わりに:
Dim doc As New Doc()
'etc...
これを実行:
Dim doc as Doc
Using doc As New Doc()
'etc...
End Using