0
我不得不asp.net MVC 3 - 在paramterized控制器方法讀取POST負載
[HttpPost]
public ActionResult Foo()
{
// read HTTP payload
var reqMemStream = new MemoryStream(HttpContext.Request.BinaryRead(HttpContext.Request.ContentLength));
....
}
有效載荷是應用/ JSON;工作得很好;然後我改爲
public ActionResult Foo(string thing)
{
....
}
的意圖是張貼到MyController/Foo?thing=yo
現在我不能讀取有效載荷(長度爲正確的,但該流爲空)。我的猜測是,控制器管道已經吃掉了有效載荷,尋找可以映射到方法參數的表單發佈數據。有沒有什麼方法可以阻止這種行爲(當然,MVC不應該吃掉其類型標記爲JSON的有效載荷,它只應該查看錶單發佈數據)。我的解決辦法是「東西」添加到JSON,但我真的不喜歡那個
ty關於你的「爲什麼在地球上,...」,在我的情況下,沒有意見或模型。我的電話都是純粹的AJAX呼叫。我只是將MVC的C部分用作'REST'服務器端的一個很好的框架。微軟的json支持對於複雜類型並不好,我使用json.net代替 – pm100
Request.InputStream.Position = 0;是一個有效的答案。 –