2016-08-17 1 views
0

J'essaie de créer une requête HTTP PUT. Je suis en mesure d'envoyer avec succès, mais comment puis-je capturer les données envoyées? Lorsque vous utilisez HTTP Post, l'URL appelée est déclenchée, je peux capturer en utilisant Request.Form, mais pour HTTP PUT, il ne semble pas y avoir de trigger du tout.Comment capturer les requêtes HTTP Put en utilisant C#?

Ceci est un exemple de code sur comment je lance:

HTTP PUT:

var url = "http://localhost:81/index.aspx";<br> 
    var client = new HttpClient(); 
<br>var content = new StringContent("<xml><message>TEST PUT</message></xml>"); 
     <br> var response = client.PutAsync(url, content).Result; 

Que dois-je faire pour capturer les données dans mon index.aspx?

MISE À JOUR
J'ai créé un gestionnaire HTTP pour accepter les requêtes HTTP. Je l'appelle http://localhost/RestService/employee

Ensuite, j'utilise Fiddler pour tester POST, GET, DELETE et PUT. Trois de la méthode fonctionne et invoque mon service. Mais la méthode PUT, ne renvoie que http 200 de fiddler sans invoquer mon service. Quelle est la particularité de PUT que j'ai besoin de configurer?

C'est mon code de RestService

public void ProcessRequest(HttpContext context) 
{ 
    LogMessage("Service invoked"); 
    LogMessage("Method used:" + context.Request.HttpMethod); 
} 

Merci pour votre réponse future.

+0

Si vous essayez d'utiliser différents types de méthode, pourquoi ne pas utiliser WebAPI ou mvc, Thay ont builtin soutien dans ce type de mehod –

+0

Malheureusement, l'application Web existante est toujours en utilisant des formulaires Web et ce n'est pas une option pour moi de changer car il y aura une structure affectée. – liss

+0

si votre backend dosent support mis, alors utilisez autre chose du client – Thorarins

Répondre

0

Si je vous ai bien compris, vous voulez recevoir les données renvoyées par le serveur web, n'est-ce pas? Dans ce cas, pourquoi ne pas utiliser:

if (response.IsSuccessStatusCode) { 
    var result = response.Content.ReadAsStringAsync().Result; 
}