我有一个自定义WebUploadTraceListener : TraceListener
,我用它来发送HTTP(并最终HTTPS)POST数据到一个Web服务,将它写入数据库。使HttpWebRequest忽略响应
我已经测试了WebClient
和HttpWebRequest
这个做法,经验上我看到后者有更好的表现。
由于数据的单向性,我不关心服务器的响应。但是我发现如果我不处理HttpWebResponse
,我的代码在第三次写入时锁定。我想,这是因为DefaultConnectionLimit设置,而不是重复使用资源的系统...
请注意,你需要处理由request.GetResponse返回WebResponse类的 - 否则根本基础设施不会知道你已经完成了它,并且将无法重新使用连接。
我想最大限度地发送POST数据的速度,回到主程序尽可能快流越好。由于我正在跟踪程序流,所以同步写入更可取,但不是必需的,因为我总是可以添加包括Tick
计数的POST字段。
- 是一个
HttpWebRequest
和stream.Write
在.Net4.0
这样做的最快方法是什么? - 是否有更便宜的方法来丢弃不需要的响应?
谢谢:-)不,我不想在socket级别工作。我需要调用'GetResponse'来关闭/重用连接是否正确? – khargoosh
是的,你说得对。在你的代码中,'GetResponse()'是自动关闭的,因为你将它封装在'using'中。 – Sakura
这是我'使用'它的意图。再次感谢 :-) – khargoosh