2018年02月13日
川俣晶の縁側ソフトウェア技術雑記 total 2306 count

DataContractSerializer.XmlWriterメソッドでOutOfMemoryException例外が起きる場合がある

Written By: 川俣 晶連絡先

問題 §

 デバッグ実行しているとDataContractSerializer.XmlWriterメソッドでOutOfMemoryException例外が起きる場合がある。(常時ではない)

原因 §

 このメソッドは見た目以上のメモリを消費し、32bit環境ではメモリ不足に陥りやすい。

 (ただし、タスクマネージャでも見ても300MBぐらいしか消費しておらず、限界を越えているようには見えないが、それでも例外が起きるときには起きる)

解決1 §

 デフォルト状態のUWPはVisual Studioでデバッグ実行するとx64環境であってもx86で走る。

 デバッグ実行はAny CPUやx86ではなく、意識的にx64に切り換えて行う。

解決2 §

 他のシリアライザーの利用を検討する。

参考 §