如何在ASP.NET中获取原始请求体?
发布时间:2020-12-16 00:42:36 所属栏目:asp.Net 来源:网络整理
导读:在HttpApplication.BeginRequest事件中,如何读取整个原始请求正文?当我尝试读它时,InputStream的长度为0,导致我相信它可能已经被ASP.NET读取了。 我试图读这个InputStream: using (StreamReader reader = new StreamReader(context.Request.InputStream
在HttpApplication.BeginRequest事件中,如何读取整个原始请求正文?当我尝试读它时,InputStream的长度为0,导致我相信它可能已经被ASP.NET读取了。
我试图读这个InputStream: using (StreamReader reader = new StreamReader(context.Request.InputStream)) { string text = reader.ReadToEnd(); } 但我得到的是一个空字符串。我把这个位置重新设置为0,但是当然,一旦这个流被读出来,它就没有了,所以没有办法。最后,检查流的长度返回0。 编辑:这是用于POST请求。 解决方法
请求对象未填充在BeginRequest事件中。您需要在事件生命周期中稍后访问此对象,例如Init,Load或PreRender。此外,您可能希望将输入流复制到内存流,因此可以使用seek:
protected void Page_Load(object sender,EventArgs e) { MemoryStream memstream = new MemoryStream(); Request.InputStream.CopyTo(memstream); memstream.Position = 0; using (StreamReader reader = new StreamReader(memstream)) { string text = reader.ReadToEnd(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- BreadCrumbs – ASP.NET – VS2008
- asp.net-mvc – 如何处理具有多个聚合根的视图模型?
- 在ASP.NET中的JQuery FullCalendar实现
- asp.net – 我可以在Medium trust中创建一个可写的文件夹吗
- asp.net-web-api – ASP.NET核心WebAPI 404错误
- 定期刷新局部视图(ASP.Net MVC)
- asp.net – 具有MVC的Sitecore’动态占位符’
- asp.net-mvc-3 – 有没有办法迭代ASP.NET MVC3站点中的所有
- ASP.NET C#目标空白无法在LinkBut??ton上运行
- asp.net – 如何集成ASP .Net Model View Presenter(MVP)模
推荐文章
站长推荐
- asp.net-mvc – 如何在WEB API 2中创建异步验证属
- Autofac和ASP.NET Web API ApiController
- ASP.NET服务器端或客户端的验证控件?
- 使用SQLite做本地数据缓存的思考
- asp.net-mvc – MVC 3 Ajax.ActionLink不能正常工
- asp.net-mvc – 如何清除ASP.NET MVC应用程序中文
- asp.net-mvc-5 – WebApi 2和MVC 5用户使用不同的
- ASP.NET vs. Silverlight
- 如何使用ASP.Net SqlBulkCopy将常量值插入到列中
- asp.net-mvc – 无法在asp mvc项目中从iis上的Co
热点阅读