【问题标题】:Use of Response.Flush before Response.End在 Response.End 之前使用 Response.Flush
【发布时间】:2011-02-18 11:03:17
【问题描述】:

什么时候使用Response.Flush?每次拨打Response.End之前都需要拨打吗?

【问题讨论】:

  • 然后将问题作为文本并写一个较短的标题。

标签: asp.net .net-3.5


【解决方案1】:

Response.Flush 方法用于当您希望在页面的其余部分之前刷新部分内容。要产生任何效果,必须关闭响应缓冲,并且您必须使用 Response.Write 自己输出页面内容,而不是使用 aspx 标记。

【讨论】:

  • 这听起来像是对我问题的回答。不过需要做一个小小的说明。当我说 Response.End();它会自动刷新我到目前为止写的响应(通过调用 Response.Write())还是我必须在 Response.End() 之前调用 Response.Flush()?
  • @Ismail:文档只说Flush 在缓冲打开时被自动调用,并没有说明在缓冲关闭时是否会发生这种情况。因此,缓冲打开时不需要它,但缓冲关闭时可能需要它。如果您让页面循环正常结束而不调用Response.End,内容将始终自动刷新。
  • @Guffa,你能在这里回答我的问题吗:stackoverflow.com/questions/23709604/…。我认为这回答了我的问题 +1。
【解决方案2】:

在大多数情况下,您不需要调用 Respond.End。如果您这样做,您必须了解您的情况以及为什么要致电 Respond.End 以及 Flush。这是非常具体的案例。

另外,MSDN 清除了它:

如果 Response.Buffer 设置为 TRUE, 调用 Response.End 刷新 缓冲。如果你不想输出 返回给用户,你应该首先 调用 Response.Clear。

【讨论】:

  • 我在做 Response.Clear(); Response.Write("我想通过的输出"); Response.Flush();响应。结束();这样对吗?或者我不应该调用 response.Flush()
  • 不,在这种情况下,您不应该在 End() 之前调用 Flush()。 Flush() 将在 End() 内部自动调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 1970-01-01
  • 2023-03-25
相关资源
最近更新 更多