.net – WebApi传输字节数组为空
发布时间:2020-12-16 04:33:17 所属栏目:asp.Net 来源:网络整理
导读:我有一个发送字节数组的简单客户端: var content = new ByteArrayContent(wav);httpClient.PostAsync(@"http://localhost:12080/api/values",content); 和一个接收该帖子请求的简单服务器: [HttpPost] public string Post([FromBody]byte[] parms) { //bla
我有一个发送字节数组的简单客户端:
var content = new ByteArrayContent(wav); httpClient.PostAsync(@"http://localhost:12080/api/values",content); 和一个接收该帖子请求的简单服务器: [HttpPost] public string Post([FromBody]byte[] parms) { //bla bla } 问题是我将null作为传入参数. 你知道这可能是什么问题吗? 解决方法
当您在Action方法中放置参数时,您隐含地说您希望其中一个格式化程序“序列化/反序列化”CLR对象.我很确定你不希望你的字节数组被序列化为XML或JSON.我猜你的字符串响应也一样.
对于像流,字符串和字节数组这样的原语,你只需这样做, [HttpPost] public async Task<HttpResponseMessage> Post() { byte[] parms = await Request.Content.ReadAsByteArray(); return new HttpResponseMessage { Content=StringContent("my text/plain response") } } 不幸的是,因为Content.ReadAsXXX方法都是异步的,所以必须使Action方法返回一个Task.您确实需要避免在任何可能在ASP.NET管道下托管的Web API中使用.Result和.Wait,因为您将导致死锁. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – TinyMCE在我第一次保存时不会返回任何值
- 跨域学习笔记1--跨域调用webapi
- asp.net – 自定义会话状态模块 – 使用ASP状态服务
- asp.net – MvcTextTemplateHost未找到
- asp.net – 在Web Gardens中添加动态路由
- asp.net-mvc – 将WebAPI添加到现有的aspnetcore MVC项目中
- asp.net – visual studio 2017调试无法启动程序无效指针
- asp.net-mvc – asp.NET:未知长度的MVC路径
- 休息 – OData与GraphQL GraphQL比较OData有什么优势?
- 我应该学习不了解MVC 1或2的asp.NET MVC 3吗?
推荐文章
站长推荐
热点阅读