2013-05-18 120 views
0

我正在处理异步HTTP处理程序,并试图找出HttpResponse.Write函数是否阻塞,直到它从客户端收到ACK。是HttpResponse.Write阻塞函数

MSDN文档没有具体说明;然而,我知道ISAPI WriteClient()函数(类似的机制)的MSDN文档提到同步版本在尝试将数据发送到客户端时会阻塞。

我认为有三种可能的方式来确定答案:

  1. 有人告诉我自己的无阻塞
  2. 写一个低级别的TCP测试客户端,并在确认设置断点(这是可能的?)
  3. 使用反射来检查HTTPResponse.Write方法的内部工作(这是可能的?)

回答

0

的HttpResponse工作在两种不同的模式,缓冲和无缓冲。在缓冲模式下,各种函数将其数据放入内存区域,只要数据被复制,函数就会返回。如果您将Buffer设置为false,则会阻止Write,直到将所有数据发送到客户端。