Necesito una solicitud Http que pueda usar en .Net, que lleva menos de 100 ms. Puedo lograr esto en mi navegador, así que realmente no veo por qué este es un problema en el código.Cómo obtener una solicitud de .Net Http rápida
He intentado WinHTTP así como WebRequest.Create y ambos son más de 500ms que no es aceptable para mi caso de uso.
Aquí hay ejemplos de la prueba simple que intento pasar. (WinHttpFetcher es un contenedor simple que escribí pero hace el ejemplo más trivial de una solicitud de obtención que no estoy seguro de que valga la pena pegar)
Estoy obteniendo resultados aceptables con LibCurlNet pero si hay usos simultáneos del clase obtengo una infracción de acceso. Además, dado que no se trata de código administrado y debe copiarse en el directorio bin, no es ideal para implementar con mi proyecto de código abierto.
¿Alguna idea de otra implementación para probar?
[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);
}
El problema no es HttpWebRequest. Normalmente recibo solicitudes en aproximadamente 13 ms conectando con localhost. ¿Estás seguro de que no es el servidor? –