每个WebRequest.Create()的不同TCP连接

时间:2011-10-19 04:08:49

标签: c# tcp network-programming httpwebrequest

我有一个.net Windows服务,它通过从服务器下载文件来测试网络性能。我正在使用(HttpWebRequest)WebRequest.Create(uri)来创建HTTP请求。

此服务由计时器控制。当计时器间隔相对较小时,服务器会阻止HTTP请求。

通过查看数据包分析器,似乎TCP连接已被重用。如何为每个WebRequest请求“新的”TCP连接?

2 个答案:

答案 0 :(得分:3)

尝试将HttpWebReqeuest.KeepAlive设为false

答案 1 :(得分:1)

我相信你正面临一个HTTP-keep alive,所以你必须以某种方式强迫WebClient不要使用它。这是从客户端发送的connection: keep-alive标头,如果服务器支持它,则保持连接。在Wiki中查看更多内容:http://en.wikipedia.org/wiki/HTTP_persistent_connection

因此,如果你发送connection:close,你可以在每个请求上获得一个新的TCP会话。