2011-04-04 16 views
6

Estoy escribiendo una biblioteca de clases para realizar operaciones en un sitio fuera de mi control. El sitio acepta formularios de entrada como entrada..NET WebClient.UploadValues ​​vs WebClient.UploadData

¿Alguien me puede decir si hay una diferencia entre estos dos métodos, excepto la forma de los datos para cargar?

System.Net.WebClient.UploadData(Uri, Byte[]); 

    System.Net.WebClient.UploadValues(String, NameValueCollection); 

no tengo objeciones para organizar los datos de cualquier manera, pero comenzaron a preguntarse cuál es la diferencia que realmente es, y todavía me está REGAÑA de alguna manera extraña, sin saber si hay una diferencia.

+0

El código fuente del marco está disponible; a menudo es una gran manera de responder a este tipo de preguntas, y IME descubre otras cosas útiles por accidente mientras mira. –

+0

Gracias Will, no soy perezoso, pero tiendo a olvidar lo obvio. – Guidhouse

Respuesta

11

Ambos "POST" los datos en el servidor. Si usa UploadValues, los valores estarán disponibles para el servidor en la colección Request.Form, que es cómo funciona un formulario HTML normal. UploadData le da más flexibilidad ya que no se realiza ningún escape en sus datos. Depende de usted formatear los datos de una manera que el servidor comprenda. Como consecuencia de esto, puede usar UploadData para duplicar el comportamiento de UploadValues.

+0

Gracias. eso lo hace para mí :) – Guidhouse