Ich brauche eine HTTP-Anfrage, die ich in .Net verwenden kann, die unter 100 ms dauert. Ich kann das in meinem Browser erreichen, deshalb sehe ich wirklich nicht, warum das ein so großes Problem im Code ist.Wie bekomme ich eine Fast .Net Http Anfrage
Ich habe WinHTTP sowie WebRequest.Create versucht und beide sind über 500ms, die für meinen Anwendungsfall nicht akzeptabel ist.
Hier sind Beispiele für den einfachen Test, den ich versuche zu bestehen. (WinHttpFetcher ist ein einfacher Wrapper, den ich geschrieben habe, aber er macht das einfachste Beispiel einer Get-Anfrage, dass ich nicht sicher bin, dass es sich lohnt, einzufügen.)
Ich bekomme akzeptable Ergebnisse mit LibCurlNet, aber wenn es gleichzeitige Verwendungen der Klasse Ich bekomme eine Zugriffsverletzung. Da es sich nicht um verwalteten Code handelt und in das bin-Verzeichnis kopiert werden muss, ist es nicht ideal für die Bereitstellung mit meinem Open-Source-Projekt.
Irgendwelche Ideen einer anderen Implementierung zu versuchen?
[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);
}
Das Problem ist nicht HttpWebRequest. Ich bekomme normalerweise Anfragen in ungefähr 13ms Verbindung zu localhost. Bist du sicher, dass es nicht der Server ist? –