4

1 分あたり約 1000 ~ 2000 回、情報をファイルに記録する必要があります。アプリがクラッシュした場合に備えて、その情報も保存する必要があります。

現在、私がやっていることは次のとおりです。

using(StreamWriter sw=new StreamWriter(filename,true))
{
    sw.WriteLine(info);
}

これは機能しますが、非常に遅いです。

私はこのようなことをしたいと思います:

static StreamWriter sw=new StreamWriter(file,true);

....

public static void Main(...)
{
    .....
    sw.WriteLine(....);
}

しかし、このようなコードを書くと、アプリがクラッシュしたときに保存した情報が失われるのではないかと心配しています。

ファイルを頻繁に開いたり閉じたりせずにファイル内の情報を保持するにはどうすればよいですか?

4

2 に答える 2

1

XメッセージまたはY回ごとにフラッシュされるキューを実装するこのクラスを使用しました。

flushLog() で using ブロックを while の外に移動し、固定ファイル名を設定することで改善できます

于 2013-05-14T15:09:03.910 に答える