как мне обработать исключение, которое возникает после отправки заголовка Content-Disposition для вложения? Я пытаюсь сгенерировать отчет на сервере и отправить его в виде файла, но если во время генерации отчета возникает исключение, само сообщение об ошибке отправляется в браузер, который по-прежнему принимает его как содержимое файла и показывает «Сохранить как» диалог. Пользователь не может знать, что произошла ошибка при создании отчета, сохраняет файл в неправильном формате.
Есть ли способ отменить ответ с этим заголовком и перенаправить на страницу с ошибкой? Или что еще я могу сделать, чтобы сообщить пользователю об ошибке?
Возможно, я мог бы сгенерировать отчет первым и только в том случае, если не было ошибок, отправив заголовки, но я хочу, чтобы отчет отображался непосредственно в выходной поток Response, чтобы ему не нужно было оставаться в памяти.
Вот мой код:
this.Response.ContentType = "application/octet-stream";
this.Response.AddHeader("Content-Disposition", @"attachment; filename=""" + item.Name + @"""");
this.Response.Flush();
GenerateReportTo(this.Response.OutputStream); // Exception occurs
Спасибо за любые предложения