Мне нужен запрос Http, который я могу использовать в .Net, который занимает менее 100 мс. Я могу добиться этого в своем браузере, поэтому я действительно не понимаю, почему это проблема в коде.
Я пробовал WinHTTP, а также WebRequest.Create, и оба они более 500 мс, что неприемлемо для моего использования.
Вот примеры простого теста, который я пытаюсь передать. (WinHttpFetcher - это простая оболочка, которую я написал, но она делает самый тривиальный пример запроса Get, который я не уверен, что это стоит вставить.)
Я получаю приемлемые результаты с 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);
}