Comment utiliser le verbe OBTENIR avec WebClient demande?
Comment pourrais-je changer de verbe d'un WebClient demande? Elle semble être la seule à permettre de/par défaut à la POSTE, même dans le cas de DownloadString.
try
{
WebClient client = new WebClient();
client.QueryString.Add("apiKey", TRANSCODE_KEY);
client.QueryString.Add("taskId", taskId);
string response = client.DownloadString(TRANSCODE_URI + "task");
result = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(response);
}
catch (Exception ex )
{
result = null;
error = ex.Message + " " + ex.InnerException;
}
Et Fiddler dit:
POST http://someservice?apikey=20130701-234126753-X7384&taskId=20130701-234126753-258877330210884 HTTP/1.1
Content-Length: 0
- Vous faites quelque chose de très spécial, quelque part - DownloadString utilise GET: "...Pour une ressource HTTP, la méthode GET est utilisée".
- Étrange, j'ai pensé "Télécharger" méthodes d'utilisation de l'OBTENIR. C'est l'intégralité de mon code pour cette demande.
- Vous êtes complètement sûr de
WebClient
n'est pas une classe personnalisée? - msdn.microsoft.com/en-us/library/system.net.webclient.aspx Oui. J'ai pensé Télécharger<type> méthodes d'utilisation POST ou PUT et Télécharger<type> pourrait utiliser GET. Étrange. Nulle part ailleurs, puis-je remplacer WebClient ou de l'étendre.
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez HttpWebRequest au lieu de cela, vous obtenez plus de contrôle de l'appel. Vous pouvez changer le RESTE verbe par la Méthode de la propriété (par défaut, c'est arriver)
Vous ne savez pas si vous pouvez utiliser WebClient pour que. Mais pourquoi ne pas utiliser HttpClient.GetAsync Méthode (String) http://msdn.microsoft.com/en-us/library/hh158944.aspx
Comme on peut le voir dans le code source de .NET, la Méthode HTTP de la DownloadString dépend de l'état du privé WebClient champ d'instance m_Method, qui est autorisé à null lors de chaque nouvelle demande d'appel de la méthode (lien) et par défaut, la demande de Web Creator (dépend de l'URI, par exemple le protocole ftp obtient un autre créateur), mais ce n'est pas thread-safe.
Peut-être vous êtes le partage de cette WebClient exemple parmi plusieurs appels simultanément?
De sorte qu'il devient confus. Soit ce ou l'URI confond les WebRequest créateur.