asp.net 3 を使用して、データベース コンテンツを xml としてダウンロードする長時間実行プロセスを実装しています。
ドキュメントの生成時間の合計は約 3 ~ 5 分です。最初のバイトをできるだけ早く返信したいと考えています。私たちはオーバーライドSystem.Web.Mvc.FileResult
して、次のようなことをしようとしています:
protected override void WriteFile(HttpResponseBase response)
{
Stream outputStream = response.OutputStream;
byte[] header = xmlExportService.XmlHeader();
response.Flush();
outputStream.Write(header, 0, header.Length);
response.Flush();
//// some long running generation here
}
Windows 7 のローカル iis では、ブラウザーで [ファイルの保存] ダイアログを表示しています。本番環境では、Windows サーバー 2008 R2 では、ファイル全体が生成されるまでダイアログは表示されません。
何か案は?