大きなファイルのユーザーダウンロードをWebブラウザーにトリガーする必要があります。そこで、サーバー上で転送するファイルを作成し、その後すぐに削除します。おそらくResponse.TransmitFileまたはResponse.WriteFile...を使用する必要があることを確認するのに十分な例を見つけましたが、両方に問題があると聞いています。
WriteFileは同期的ですが、ユーザーに送信する前にファイルをメモリにバッファリングします。私は非常に大きなファイルを扱っているので、これは問題を引き起こす可能性があります。
TransmitFileはローカルでバッファリングしないため、大きなファイルに対しては機能しますが、非同期であるため、TransmitFileを呼び出した後にファイルを削除できません。どうやらファイルをフラッシュしても、ファイルを削除できるとは限りませんか?
これに対処する最良の方法は何ですか?
BinaryWriteもあります...ファイルストリームをループして、セグメントにコピーできますか?