asp.net mvc获取http body中的json

今天遇到一个对方直接post 一共json对象字符串过来的场景。
按照以前的旧方案方法可以直接在request.inputstream里面读取,然后反序列化即可。(当然估计ASP.NET MVC应该有更好的方法)

但现在遇到个问题。如果对方mime类型设置为application/json,那么我们在后端的request.inputstream就读取不到任何数据。如果mime类型为text/json就可以读取到全部内容。

是不是asp.net mvc对于mime为applicaton/json有什么特殊的处理导致在某个环境已经读取了http boyd流。
(因为request.inputstram这个只能读取一次,读取后就读取不到数据了)

 


不是2楼说的东西。2楼的方案和我的方案一样的。
现在的问题是当mime为application/json时从输入流里面获取不到任何数据。无论你用request.instream还是request.readbinaryxxx什么的,都一样。
昨天我已经解决了。估计mvc框架已经读取了一次request输入流,所以获取不到了。再次获取前,先将流的当前读取位置seek到起始位置就可以正确读取了

posted @ 2020-02-12 20:49  清语堂  阅读(1166)  评论(0编辑  收藏  举报