我需要一个Http请求,我可以在.Net中使用,这需要100毫秒以下。我能够在浏览器中实现这一点,所以我真的不明白为什么这是代码中的这样一个问题。如何获得一个快速的.Net Http请求
我试过WinHTTP以及WebRequest.Create,它们都超过500毫秒,这是我的用例不能接受的。
这里是我试图通过的简单测试的例子。 (WinHttpFetcher是我写的一个简单的包装,但它确实是Get Request的最微不足道的例子,我不确定它是否值得粘贴。)
我得到了LibCurlNet的可接受结果,但如果同时使用我得到一个访问冲突。另外,由于它不是托管代码,必须复制到bin目录,因此使用我的开源项目进行部署并不理想。
想要尝试另一个实现的任何想法?
[Test]
public void WinHttp_Should_Get_Html_Quickly()
{
var fetcher = new WinHttpFetcher();
var startTime = DateTime.Now;
var result = fetcher.Fetch(new Uri("http://localhost"));
var endTime = DateTime.Now;
Assert.Less((endTime - startTime).TotalMilliseconds, 100);
}
[Test]
public void WebRequest_Should_Get_Html_Quickly()
{
var startTime = DateTime.Now;
var req = (HttpWebRequest) WebRequest.Create("http://localhost");
var response = req.GetResponse();
var endTime = DateTime.Now;
Assert.Less((endTime - startTime).TotalMilliseconds, 100);
}
的问题不是HttpWebRequest的。我通常会在连接到本地主机的大约13ms内收到请求。你确定它不是服务器吗? – 2010-12-02 14:44:41