在 ASP.NET 中,Streamed Response 通常用于处理大量数据或长时间运行的操作,以便在传输过程中逐步发送响应。但是,有时候需要在调用期间逐步打印响应,而不是在结束时打印。为了实现这一点,可以将 Response.BufferOutput 属性设置为 false 并使用 Response.Flush() 方法来手动刷新缓冲区。下面是示例代码:
<%@ Page Language="C#" %>
<%
Response.BufferOutput = false;
Response.ContentType = "text/plain";
for (int i = 0; i < 10; i++)
{
Response.Write("Processing item " + i.ToString() + "\n");
Response.Flush();
System.Threading.Thread.Sleep(1000);
}
Response.Write("Done!");
%>
这个示例代码在页面上输出了 10 条消息,每条消息之间间隔了 1 秒钟。由于使用了 Response.Flush() 方法,每次循环都会将文本发送到客户端,而不是等到所有循环结束后才发送。因此,客户端会逐步看到响应输出,而不是在结束时才看到。