Как получить быстрый запрос .Net Http

Мне нужен Http-запрос, который я могу использовать в .Net, который занимает менее 100 мс. Я могу добиться этого в моем браузере, поэтому я действительно не понимаю, почему это такая проблема в коде.

Я пробовал 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);
    }
10
задан Martin Murphy 2 December 2010 в 14:25
поделиться