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;是一个有效的答案。 –