jan*_*gan 5 .net c# asp.net-mvc asp.net-mvc-3
我有一段时间试图弄清楚为什么同一行返回请求体作为Post()中的字符串和Put()中的空字符串以及最终如何在Put()中获取请求体.
[HttpPost]
public JsonResult Post()
{
...
var todoJson = new StreamReader(Request.InputStream).ReadToEnd();
...
}
[HttpPut]
public JsonResult Put(int id)
{
...
var todoJson = new StreamReader(Request.InputStream).ReadToEnd();
...
}
Run Code Online (Sandbox Code Playgroud)
根据((System.Web.HttpInputStream)(Request.InputStream))._data._data
我得到的Put(),字节值在请求体中,但是我无法提取内容.任何帮助非常感谢.
编辑:来自HttpRequest.InputStream文档的方法在Post()中工作,在Put()中返回一个字符串"\ 0\0\0\0\0\0\0\0\0\0\0\0\0 Content-Length的\ 0\0\0\0\0\0\0\0\0\0 ......"
jan*_*gan 11
我应该看到这个早期的Request.InputStream.Position
要点到请求体的末尾,所以
Request.InputStream.Position = 0;
Run Code Online (Sandbox Code Playgroud)
解决了这个问题.
归档时间: |
|
查看次数: |
9539 次 |
最近记录: |