我有一段时间试图弄清楚为什么同一行返回的请求体为Post()中的字符串和Put()中的空字符串,最终如何获取请求正文放()。阅读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();
...
}
基于((System.Web.HttpInputStream)(Request.InputStream))._data._data
我得到了认沽(),字节值是在请求体中,但我无法提取内容。 任何帮助非常感谢。
编辑:从HttpRequest.InputStream文档工作在Post()中,在Put()中它返回一个字符串“\ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 ...”内容长度的。
谢谢,这是很好的阅读。我看到这个代码和事情是浏览器发送PUT。为了更清楚我基本上为backbone.js [todo](http://documentcloud.github.com/backbone/examples/todos/index.html)应用程序做了一个RESTful处理程序,所以所有的GET,POST, PUT,DELETE请求由主干发送,并为为Google App Engine编写的[相同应用](https://github.com/ccarpenterg/todolist/wiki)工作。所以它出现在请求体是存在的,我不能读它。 – 2011-06-16 10:25:49