Мы реализуем длительный процесс загрузки содержимого базы данных в виде xml с помощью asp.net 3.
Общее время создания документа составляет около 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
}
На локальном iis под Windows 7 я открываю диалоговое окно «Сохранить файл» в браузере. В рабочей среде Windows Server 2008 R2 нет диалогового окна, пока не будет сгенерирован весь файл.
Есть идеи?