1.5GBのtxtファイルを逆シリアル化する必要があります。code.google.com/p/protobuf-net/ の protobuf-net を使用しています
場合によっては、さまざまな場所でさまざまな例外 (null 参照、メモリ アクセス違反) で失敗することがあります (約 50% のケース)。プロセッサの負荷が低い場合、障害の可能性が減少することに気付きました。
このような失敗を避けるにはどうすればよいですか?
コードを逆シリアル化する例を次に示します。
public static History LoadFromFile(string path)
{
using (var fileStream = File.OpenRead(path))
{
var obj = Serializer.Deserialize<History>(fileStream);
return obj;
}
}
今日、エラー コード 0xc0000005 の FatalExecutionEngineError が発生しましたが、コードのどの部分が安全でない可能性があるかわかりません。これは一定のエラーではありません。アプリケーションを再起動すると、すべてが正しく機能します。
これは、逆シリアル化する必要があるシリアル化されたファイルの例です: https://docs.google.com/file/d/0B1XaGInC6jg3ZXBZZDA3bHh3bVk/edit