私が持っていた
[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
Now I can't read the payload (長さは正しいが、ストリームは空です)に投稿する意図があります。私の推測では、コントローラーの配管が、メソッド パラメーターにマップできるフォーム ポスト データを探してペイロードを食べたということです。この動作を止める方法はありますか (確かに、MVC はタイプが JSON としてマークされているペイロードを食べるべきではありませんでした。フォームの投稿データのみを確認する必要があります)。私の回避策は、jsonに「もの」を追加することですが、それはあまり好きではありません