La clase WebClient debe ser más que capaz de manejar la funcionalidad que usted describe, por ejemplo:
System.Net.WebClient wc = new System.Net.WebClient();
byte[] raw = wc.DownloadData("http://www.yoursite.com/resource/file.htm");
string webData = System.Text.Encoding.UTF8.GetString(raw);
o (más a la sugerencia de Fredrick en los comentarios)
System.Net.WebClient wc = new System.Net.WebClient();
string webData = wc.DownloadString("http://www.yoursite.com/resource/file.htm");
Cuando usted dice que tomó 30 segundos, ¿puede ampliar eso un poco más? Hay muchas razones de por qué eso pudo haber sucedido. servidores lentos, conexiones a Internet, la aplicación poco fiables, etc, etc
Usted podría ir un nivel más bajo e implementar algo como esto:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://www.yoursite.com/resource/file.htm");
using (StreamWriter streamWriter = new StreamWriter(webRequest.GetRequestStream(), Encoding.UTF8))
{
streamWriter.Write(requestData);
}
string responseData = string.Empty;
HttpWebResponse httpResponse = (HttpWebResponse)webRequest.GetResponse();
using (StreamReader responseReader = new StreamReader(httpResponse.GetResponseStream()))
{
responseData = responseReader.ReadToEnd();
}
Sin embargo, al final del día, la clase WebClient envuelve esta funcionalidad para tú. Entonces, le sugiero que use WebClient e investigue las causas del retraso de 30 segundos.
La clase WebClient es la elección natural aquí. El cliente web no debe tardar 30 segundos en ejecutarse (suponiendo que no haya otros problemas de red). – Jimmy
Sus opciones están limitadas a WebClient o WebRequest/WebResponse (que es lo que WebClient usa debajo de las escenas, así que simplemente vaya a WebClient).En cuanto a por qué es lento, esto es algo que no tiene nada que ver con la implementación de la pila .NET HTTP. Podría tratarse de problemas de red, una implementación deficiente del sitio web que está tratando de recuperar, lo que hace que sea más lento devolver una respuesta, ... Por ejemplo, ejecutar un cliente web en un sitio web correctamente escrito, como http://www.google .com tarda unos pocos milisegundos en obtener la respuesta que es mucho menor que los 30 segundos que está observando en su sitio. –
Por pase, ¿significa su análisis medio? si es así, ¿con qué tecnología lo estás analizando? es decir, ¿qué tipo de cuadro de texto de win-forms, otro sitio web? – Rob