Je suis en train d'essayer de comprendre pourquoi la même ligne retourne le corps de la requête comme une chaîne dans Post() et une chaîne vide dans Put() et finalement comment obtenir le corps de la requête Mettre().Lecture du corps de la requête PUT
[HttpPost]
public JsonResult Post()
{
...
var todoJson = new StreamReader(Request.InputStream).ReadToEnd();
...
}
[HttpPut]
public JsonResult Put(int id)
{
...
var todoJson = new StreamReader(Request.InputStream).ReadToEnd();
...
}
Basé sur ((System.Web.HttpInputStream)(Request.InputStream))._data._data
i got Put(), les valeurs d'octet sont dans le corps de la demande, mais je suis à défaut d'extraire le contenu. Toute aide grandement appréciée.
Editer: La méthode de HttpRequest.InputStream documentation fonctionne dans Post(), dans Put() il renvoie une chaîne "\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 ... "de Content-Length.
Merci, c'est une bonne lecture. J'ai vu ce code et la chose est le navigateur envoie PUT. Pour être plus clair, je suis en train de faire un gestionnaire RESTful pour l'application backbone.js [todo] (http://documentcloud.github.com/backbone/examples/todos/index.html), donc tous les GET, POST, Les requêtes PUT, DELETE sont envoyées par backbone et fonctionnent pour la [même application] (https://github.com/ccarpenterg/todolist/wiki) écrite pour Google App Engine. Donc, il semble que le corps de la requête est là, je ne peux pas le lire. –