это кажется таким глупым - я, должно быть, упускаю что-то очевидное. У меня есть следующий код (просто в качестве теста):
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void page_load(object o, EventArgs e)
{
Response.Write(new string(' ', 255));
Response.Flush();
for (int i = 0; i < 10; i++)
{
Response.Write(i + "<BR>");
Response.Flush();
System.Threading.Thread.Sleep(500);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
main div
</div>
</form>
</body>
</html>
когда я проверяю это локально (vista x64, cassini), я получаю желаемый результат .. 1, затем 2, затем 3 и т. Д. Все отправляются в буфер без буферизации когда я пытаюсь сделать это на сервере dev (2003, iis6), он просто буферизирует все и отправляет все сразу. Есть ли что-то очевидное, что я пропускаю? Я также попытался поместить buffer = false вверху, но это также не меняет это поведение.
Чтобы уточнить, я провел тест с Fiddler, чтобы сравнить два сервера. первый сервер - это локальный сервер в локальной сети, второй - публичный сервер. Fiddler не обнаружил заметной разницы между ними, кроме имени хоста. сервер ЛВС не записывал ответ до тех пор, пока страница не закончила загружаться, общедоступный сервер записал ответ, как это произошло. Я также могу подтвердить, что такое поведение происходит как в Firefox и т. е.