Я пишу вспомогательный метод в C # / ASP.NET, который направляет файл в браузер, и я хотел бы иметь возможность определить, был ли какой-либо контент записан в браузер до очистки заголовков / контента ответа. и отправка файлов байтов. Если страница, которая вызывает мой вспомогательный метод, настроена неправильно, кажется, что «нормальные» заголовки страниц и контент могут быть отправлены в браузер до того, как я попытался очистить Весь ответ и начать заново с данными файла. Итак, есть ли способ узнать, были ли данные уже отправлены?
По сути, я ищу что-то вроде поддельного свойства BytesSent в этом примере:
if (response.BytesSent == 0)
{
response.ClearHeaders();
response.ClearContent();
response.Clear();
response.ContentType = "application/octet-stream";
response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
response.AppendHeader("Content-Length", new FileInfo(path).Length.ToString());
//
// etc. (stream the file)
//
}
else
{
// throw an exception (or handle the problem in some other way)
}