我有一段時間試圖弄清楚爲什麼同一行返回的請求體爲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