【发布时间】:2009-08-19 21:29:48
【问题描述】:
情况:我使用的是 msdn 中记录的 HttpWebRequest.BeginGetResponse。我有一个计时器每十秒发送一次请求。我在测试时收到了 xml 结构的信息。
结果:在客户处并运行该工具时,我收到了不完整(因此无法解析)的 xml(每个大约 4KB)。我可以签入浏览器并完整查看(显然是通过浏览器的同步请求?!)。我使用有关内容长度的标头信息来调整接收缓冲区的大小。
是什么原因造成的?我不知道。数据相当小。我仍然使用developer fusion 中描述的ThreadPool.RegisterWaitForSingleObject 方法来定义超时,我也选择了十秒作为超时。也许这不是一个明智的决定,它可能应该比计时器间隔更小。问题是,我无法在这些条件下再次测试它。它在一个生产站点,我对网络设置一无所知。来自家里的请求同时运行得很好。
我在该领域不是很有经验,但是当计时器在完全接收到响应流之前触发新请求时会发生什么,例如超时时间等于定时器间隔?任何其他提示可能是这里的瓶颈?
【问题讨论】: