visual studio microsoft espaƱol descargar community c# windows-phone-7 post http-headers httpwebrequest

c# - microsoft - visual studio installer



Realice una solicitud posterior http para enviar un archivo JSON en WP7 (1)

Me gustaría enviar un JSON file from my WP7 device to my local server . En iOS utilicé la biblioteca ASIHttpRequest y lo que hice fue:

//send json file , using ASIHttpClass NSURL *url = [NSURL URLWithString:urlStr]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; request.timeOutSeconds = TIME_OUT_SECONDS; [request setRequestMethod:@"PUT"]; NSString *credentials= [self encodeCredentials]; [request addRequestHeader:@"Authorization" value:[[NSString alloc] initWithFormat:@"Basic %@",credentials]]; [request addRequestHeader:@"Content-Type" value:@"application/json; charset=utf-8"]; [request appendPostData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]]; [request startSynchronous]; if([request responseStatusCode]==200){ return true; } else { return false; }

¿Cómo podría implementar la misma funcionalidad en mi aplicación WP7?

Lo que he encontrado hasta ahora y creo que estoy cerca:

//Making a POST request using WebClient. Function() { WebClient wc = new WebClient(); var URI = new Uri("http://your_uri_goes_here"); wc.Headers["Authorization"] = "Basic (here goes my credentials string which i have)"; wc.Headers["Content-Type"] = "application/json; charset=utf-8"; wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted); wc_cart_session.UploadStringAsync(URI,"POST","Data_To_Be_sent"); }

dónde :

void wc__UploadStringCompleted(object sender, UploadStringCompletedEventArgs e) { try { MessageBox.Show(e.Result); //e.result fetches you the response against your POST request. } catch(Exception exc) { MessageBox.Show(exc.ToString()); } }

Supongo que el "Data_to_be_Sent" debería ser el jsonString en la codificación utf8?

EDITAR

Me di cuenta de que el "Data_To_Be_sent" es una cadena. Sin embargo, esto debería estar en codificación UTF8 ¿verdad? Entonces debería ser una matriz de bytes que están en formato UTF8. Sin embargo, solo puedo colocar una cadena allí. que me estoy perdiendo aqui?


La clase WebClient tiene una propiedad de Codificación que utilizan los métodos UploadStringAsync y DownloadStringAsync . Establezca su codificación allí.

wc.Encoding = Encoding.UTF8; wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted); wc.UploadStringAsync(URI,"POST","Data_To_Be_sent");