demande de web en asp.net de base
Je veux faire une requête web dans un asp.net projet de base. J'ai essayé ce qui suit, mais il ne semble pas pour envoyer les données dans la requête:
using System.Net;
...
//encoder
UTF8Encoding enc = new UTF8Encoding();
//data
string data = "[\"some.data\"]";
//Create request
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.Credentials = new NetworkCredential(user, secret);
//Set data in request
Stream dataStream = await request.GetRequestStreamAsync();
dataStream.Write(enc.GetBytes(data), 0, data.Length);
//Get the response
WebResponse wr = await request.GetResponseAsync();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Je n'ai pas d'erreur, la demande a été envoyer mais il ne semble pas pour envoyer les données à la demande.
Je ne peux pas donner la longueur des données à la demande. Est-ce une question fondamentale? (ps: Les informations d'identification sont à envoyer correctement)
Quelqu'un peut m'aider?
Je vais voter pour fermer la question, car il ne peut pas être répondu (voir OP réponse ci-dessous)
OriginalL'auteur Wouter | 2016-12-16
Vous devez vous connecter pour publier un commentaire.
Vous pouvez être confronté à un contexte de synchronisation problème.
Essayez d'attendre les méthodes asynchrones comme
GetRequestStreamAsync()
etGetResponseAsync()
au lieu d'obtenir le Résultat de la propriété.OriginalL'auteur ycrumeyrolle
Enfin résolu. Leurs a eu un bug dans mon api externe de code où j'ai résolu de la demande d'api. Le code dans ma question fonctionne (Si quelqu'un veut l'utiliser).
PS: j'ai modifier le code avec la remarque de ycrumeyrolle
OriginalL'auteur Wouter