cela semble si stupide - je dois manquer quelque chose d'évident. J'ai le code suivant (tout comme un test):Comment désactiver Response.Buffer
<%@ 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>
quand je teste ce local (Vista x64, cassini), i obtenir la sortie désirée .. 1, puis 2, puis 3, etc sont tous envoyés non-buffered au navigateur. quand j'essaye ceci sur le serveur de dev (2003, iis6) il tamponne juste tout et l'envoie tout à la fois. Y at-il quelque chose d'évident que je manque? J'ai aussi essayé de mettre buffer = false en haut mais cela ne change pas non plus ce comportement. Pour clarifier davantage, j'ai fait un test avec fiddler pour comparer deux serveurs. le premier serveur est un serveur local sur le réseau local, le second est un serveur public. fiddler n'a trouvé aucune différence perceptible entre les deux, à l'exception du nom d'hôte. le serveur LAN n'a pas écrit la réponse jusqu'à ce que la page ait fini de charger, le serveur public a écrit la réponse comme elle s'est produite. Je peux aussi confirmer que ce comportement se produit à la fois dans firefox et ie.
Est-ce qu'il est mis en cache sur la machine spécifique, vous êtes confronté à un problème? Essayez d'effacer le cache du navigateur sur l'ordinateur problématique. – shahkalpesh
J'ai essayé différentes machines, y compris des machines qui n'auraient jamais accédé à la page auparavant - et pas de proxy .. – benpage