Dav*_*vid 12 asp.net rest httpwebrequest
如何读取ASP.NET中的请求主体?我正在使用Firefox的REST客户端插件为我在本地托管的网站上的资源形成GET请求,而在请求正文中我只是将字符串"test"试图读取它服务器.
在服务器代码(这是一个非常简单的MVC动作)我有这个:
var reader = new StreamReader(Request.InputStream);
var inputString = reader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
但是当我调试它时,inputString总是空的.我不确定如何(例如在FireBug中)确认请求正文确实正确发送,我想我只是假设附加组件正确地执行了此操作.也许我读错了价值?
也许我记错了我的学校教育,但我认为 GET 请求实际上没有主体。此页指出。
HTML 规范在技术上定义了“GET”和“POST”之间的区别,因此前者意味着表单数据将(由浏览器)编码到 URL 中,而后者意味着表单数据将出现在消息正文中。
那么也许您的做法是正确的,但您必须 POST 数据才能获得消息正文?
为了回应您的评论,最“正确”的 RESTful 方式是将每个值作为其自己的参数发送:
site.com/MyController/MyAction?id=1&id=2&id=3...
Run Code Online (Sandbox Code Playgroud)
然后,如果您给它一个同名的数组参数,您的操作将自动绑定它们:
public ActionResult MyAction(int[] id) {...}
Run Code Online (Sandbox Code Playgroud)
Request.QueryString或者,如果你是一个受虐狂,你也许可以尝试一次从一个人身上提取价值观。
| 归档时间: |
|
| 查看次数: |
12967 次 |
| 最近记录: |