我们正在实施长时间运行的过程,以使用 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 server 2008 R2 在生成整个文件之前没有对话框。
有任何想法吗?