Можно ли сначала сбросить буфер с помощью ASP.NET?

"Лучшие практики для выступления на вашем веб-сайте" от Yahoo включает следующую рекомендацию:

Когда пользователи запрашивают страницу, для серверного сервера может потребоваться от 200 до 500 мс, чтобы сшить HTML-страницу. В течение этого времени браузер простаивает, так как он ожидает получения данных. В PHP у вас есть функция flush(). Он позволяет отправить частично готовый HTML-ответ в браузер, чтобы браузер мог запускать компоненты, пока ваш бэкэнд занят остальной частью HTML-страницы. Преимущество в основном наблюдается на занятых бэкэндах или легких интерфейсах.

Хорошее место, чтобы рассмотреть возможность промывки сразу после HEAD, потому что HTML для головы обычно легче производить, и он позволяет включать любые файлы CSS и JavaScript для браузера, чтобы начать выборку параллельно, в то время как бэкэнд все еще обрабатывает,

Пример:

... <!-- css, js -->
</head>
<?php flush(); ?>
<body>
... <!-- content -->

Обратите внимание на точку, в которой происходит флеш, после записи заголовка. Это имеет большой смысл, поэтому браузер может начать загрузку изображений и скриптов, пока остальная часть страницы отображается и обслуживается.

Есть ли способ очистить голову (или любую другую часть страницы) с помощью ASP.NET?

Ответ 1

Вы должны уметь размещать на своей странице следующее сообщение: "

<% Response.Flush(); %>

Однако будьте осторожны, если вы используете диспетчер script или любой другой элемент управления, который будет регистрироваться для вывода в разделе заголовка html.

Ответ 2

Возможно, вы захотите явно указать Buffer = true в теге @Page в верхней части страницы, чтобы избежать ошибок throw Response.Flush().