私はファイルストリーム転送での停止と再開を実装するためのテキストやアドバイスを探しています。ファイルストリーム転送での停止と再開の実装 - 方法C#.NET
目的は、アプリケーションが単一の読み取り元を使用し、複数の書き込み元に出力し、転送が失敗した場合に記録された位置から再開できるようにすることです。
アプリケーションはC#.NETで書かれています。
擬コード:
while (reader.Read())
{
foreach(writer in writers)
{
writer.WriteToStream();
}
}
私が停止または一時停止を実施できるようにする必要があります。そういうふうに動作します。停止するには、継続が偽マークされている:
この段階では明らかにwhile (reader.Read() && Continue)
{
foreach(writer in writers)
{
writer.WriteToStream();
}
}
私が読み込まれたバイトの数、および各書き込みソースに書き込まれたバイト数を記録する必要があります。
私の質問は以下のとおりです。
私は読み取り専用バイトを記録し、再起動のためにこれを使用した場合、他にはいないが、一つ以上の作家が書いたかもしれません。読み取り進行の指標を使用して再起動するだけで、書き込まれたデータが破損する可能性があります。だから私は新しいライターの位置として、ライターごとの書き込みバイトを使用する必要があります。バイトが書き込まれたことを確認するにはどうすればよいですか(ファイルの長さを読み取るために書き込み元からファイルを読み取る機能がない可能性があります)。
誰かがこの種の問題についてのテキストの正しい方向に助言をするか、私を指摘できますか?
もう1つの理由は、.NETには最初のクラスの継続が必要です。 – leppie