asp.net-core – 使用[FromBody]时获取原始POST数据
发布时间:2020-05-24 13:08:05 所属栏目:asp.Net 来源:互联网
导读:我有一个在ASP.NET Core 1.0 RC2上运行的控制器,我想将原始POST数据转储到遥测中,因为ApplicationInsights不会为您执行此操作.我的代码看起来像这样 [HttpPost][Produces(application/json)]public IActionResult Post([FromBody] RequestClass RequestData){
|
我有一个在ASP.NET Core 1.0 RC2上运行的控制器,我想将原始POST数据转储到遥测中,因为ApplicationInsights不会为您执行此操作.我的代码看起来像这样 [HttpPost]
[Produces("application/json")]
public IActionResult Post([FromBody] RequestClass RequestData)
{
var stream = this.HttpContext.Request.Body;
stream.Position = 0;
using (var reader = new StreamReader(stream))
{
string body = reader.ReadToEnd();
Telemetry.TrackTrace(body,Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Information);
}
return Ok();
}
但字符串“body”总是空着.如果我从函数签名中删除[FromBody]装饰,那么此代码可以工作,但RequestData对象只包含null,这不是我想要的. 我唯一能想到的就是将RequestData转换回Json字符串,但这感觉很笨拙而且很慢. (编辑:POST数据是Json) 解决方法您需要启用缓冲请求正文:services.Configure< FormOptions>(options => options.BufferBody = true); https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNetCore.Http/Features/FormOptions.cs#L20 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何检测ASP.NET应用程序中的SqlServer连接泄漏?
- asp.net – ADFS 2.0超时以及Freshness Value,TokenLifetim
- asp.net – 初学者指南,了解如何在Visual Studio中使用Subv
- asp.net-mvc-3 – 似乎无法有条件地使用Razor的foreach和if
- asp.net – IE10中的LinkButtons不执行回发
- asp.net-mvc-3 – 关于Razor中嵌套代码块声明的问题
- asp.net-mvc – 具有持久HTTP连接的IDbConnection生命周期管
- asp.net – Session_End不启动?
- 在ASP.NET中将MS Word文档转换为PDF
- asp.net-mvc – Elmah日志文件删除,手动还是有设置?
推荐文章
站长推荐
- 在ASP.NET MVC C#中使用Jquery更新部分视图
- asp.net – Safari浏览器忽略我的无缓存
- asp.net – 将JSON数据解析为.NET对象的最佳方式
- ASP.net WebAPI跨域调用问题的解决方法
- asp.net-mvc-3 – 任何好的样品开始使用Dapper?
- 如何检查ASP.Net中客户端(JavaScript)的Page.Val
- asp.net – 使用OLEDB读取CSV文件,即使连接字符串
- asp.net-mvc – 使用带有MVC3的plupload
- Asp.Net Identity – 在运行时设置CookieDomain
- asp.net-mvc – MVC DB首先修复显示名称
热点阅读
