4

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

4

1 に答える 1