在ASP.NET中读取请求体

前端之家收集整理的这篇文章主要介绍了在ASP.NET中读取请求体前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在ASP.NET中如何读取请求体?我正在使用Firefox的REST Client附加组件来形成对我在本地托管的网站上的资源的GET请求,而在Request Body中,我只是将字符串“test”尝试读取它服务器.

在服务器代码(这是一个非常简单的MVC动作)我有这个:

var reader = new StreamReader(Request.InputStream);
var inputString = reader.ReadToEnd();

但是当我调试它时,inputString始终为空.我不知道如何(如在FireBug中)来确认请求正文的确是正确发送的,我想我只是假设这个加载项是正确的.也许我正在读价值不正确?

解决方法

也许我错了我的上学,但我认为GET请求实际上没有一个机构. This page states.

The HTML specifications technically define the difference between “GET” and “POST” so that former means that form data is to be encoded (by a browser) into a URL while the latter means that the form data is to appear within a message body.

所以也许你正在做的事情正确,但是你必须POST数据才能有一个消息体?

更新

响应您的评论,最“正确”的RESTful方式是将每个值作为自己的参数发送:

site.com/MyController/MyAction?id=1&id=2&id=3...

那么如果你给它一个同名的数组参数,你的动作就会自动绑定这些参数:

public ActionResult MyAction(int[] id) {...}

或者如果你是一个虐待者,你可以尝试一次从Request.QueryString中提取一些值.

猜你在找的asp.Net相关文章