C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WebBrowser上のHTML取得時メモリ不足発生

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■91342 / inTopicNo.1)  WebBrowser上のHTML取得時メモリ不足発生
  
□投稿者/ DiscUp (1回)-(2019/06/17(Mon) 13:03:01)

分類:[VB.NET/VB2005 以降] 

言語:VB2013

WebBrowser(IE11モードで実行)を使用した自作ツール(x86ビルド)を使っていて、
困ったことが出てきました。
Windows7(32bit)上でこのツールを動かし、あるWebページ(HTML)を
ツール内のWebBrowserに読み込んだ後、

Dim bodyHtml As String = WebBrowser1.Document.Body.InnerHtml

を実行すると、ここで

System.OutOfMemoryException: プログラムの実行を続行するための十分なメモリがありませんでした。

という例外が発生しました。

確かにこのページは重いようで、WebBrowserでもIEでも表示に時間がかかっていました。
タスクマネージャーで確認したところ、WebBrowserで対象ページをNavigate後、
このプロセスのメモリの値がどんどん増加し、
メモリの値が1400MBを超える所まで行きますが、
ブラウザ上のページ表示が完了したときは1000MB程度となりました。
この状態でBodyのInnerHtmlを取得しようとすると例外が発生します。

なお、Windows10(64bit)上でこのツールで同様のことを行うと、
タスクマネージャーの本プロセルのメモリの値は最終的には700MB程度に落ち着き、
この状態ではBodyのInnerHtml取得に成功します。

最低でも、BodyのInnerHtmlが取得出来て、これをテキストファイルに保存できれば、
別プロセスでこのテキストファイルを処理するようにしようと考えていますが、
OutOfMemoryExceptionが発生しないようにBodyのInnerHtmlの情報を得る方法はないでしょうか?

よろしくお願いします。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ