我有
[HttpPost]
public ActionResult Foo()
{
// read HTTP payload
var reqMemStream = new MemoryStream(HttpContext.Request.BinaryRead(HttpContext.Request.ContentLength));
....
}
有效载荷是application/json;工作正常;然后我改为
public ActionResult Foo(string thing)
{
....
}
目的是发布到MyController/Foo?thing=yo
现在我无法读取有效负载(长度正确但流为空)。我的猜测是控制器管道已经吃掉了寻找可以映射到方法参数的表单发布数据的有效负载。有什么方法可以阻止这种行为(当然 MVC 不应该吃掉类型标记为 JSON 的有效负载,它应该只查看表单发布数据)。我的解决方法是在 json 中添加“东西”,但我不太喜欢