verbo tipo textual puede metodo este enviar create contenido consumir con c# windows-phone-7 windows-phone-8 windows-phone httpclient

c# - tipo - ¿Cómo publicar datos usando HttpClient?



webrequest c# (2)

Tengo this HttpClient de Nuget.

Cuando quiero obtener datos, lo hago de esta manera:

var response = await httpClient.GetAsync(url); var data = await response.Content.ReadAsStringAsync();

¿Pero el problema es que no sé cómo publicar datos? Tengo que enviar una solicitud posterior y enviar estos valores dentro de él: comment="hello world" y questionId = 1 . estas pueden ser las propiedades de una clase, no lo sé.

Actualizar No sé cómo agregar esos valores a HttpContent ya que el método de publicación lo necesita. httClient.Post(string, HttpContent);


Necesitas usar:

await client.PostAsync(uri, content);

Algo como eso:

var comment = "hello world"; var questionId = 1; var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("comment", comment), new KeyValuePair<string, string>("questionId", questionId) }); var myHttpClient = new HttpClient(); var response = await myHttpClient.PostAsync(uri.ToString(), formContent);

Y si necesita obtener la respuesta después de la publicación, debe usar:

var stringContent = await response.Content.ReadAsStringAsync();

Espero eso ayude ;)


Use el método UploadStringAsync:

WebClient webClient = new WebClient(); webClient.UploadStringCompleted += (s, e) => { if (e.Error != null) { //handle your error here } else { //post was successful, so do what you need to do here } }; webClient.UploadStringAsync(new Uri(yourUri), UriKind.Absolute), "POST", yourParameters);