3

我发现自己在给 stringwriter 写信,然后在函数结束时执行resp.Write(sw.ToString()). 这是不必要的吗?如果我多次使用 HttpResponse.Write,即使我的页面是 2k,它是否可能会多次发送数据(块)?HttpResponse.Write 与 StringWriter.Write 有何不同?

4

2 回答 2

1

使用 Response.Write 格式化输出

在可能的情况下,避免使用循环来连接字符串以格式化页面布局。考虑改用 Response.Write。此方法将输出写入 ASP.NET 响应缓冲区。当您遍历数据集或 XML 文档时,使用 Response.Write 是一种高效的方法。它比在将内容写回客户端之前使用 += 运算符连接内容更有效。Response.Write 在内部将字符串附加到可重用缓冲区,这样除了清理内存之外,它不会遭受分配内存的性能开销。

提高 ASP.NET 性能

于 2010-02-09T13:31:46.327 回答
1

在这种情况下,无需创建中间字符串。您无需担心网络堆栈在做什么(HttpResponse.Write 是否分解为多个低级套接字写入)。但是,只需在获得数据后立即写入数据,即可获得最佳性能。

于 2010-02-09T13:32:47.450 回答