我有一个.net Windows服务,它通过从服务器下载文件来测试网络性能。我正在使用(HttpWebRequest)WebRequest.Create(uri)
来创建HTTP请求。
此服务由计时器控制。当计时器间隔相对较小时,服务器会阻止HTTP请求。
通过查看数据包分析器,似乎TCP连接已被重用。如何为每个WebRequest请求“新的”TCP连接?
答案 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会话。