asp.net-web-api – Xamarin.Android上的StringContent为空
我们有一个Azure WebApi服务,有时可以像这样返回BadRequest
return BadRequest("{"errors":[{"message":"MyBuddy not found!","code":9}]}"); 问题是在Xamarin.Android上,使用System.Net.Http.HttpClient,我们收到的响应内容为空. 这是我们的代码: private static async Task<int> ReadErrorCodeAsync(HttpResponseMessage response) { var x = response.ReasonPhrase; var errorSerialized = await response.Content.ReadAsStringAsync(); var error = JObject.Parse(errorSerialized); return ((JArray)error["errors"])[0]["code"].Value<int>(); } 但是errorSerialized总是一个空字符串. { "errors": [ { "message": "MyBuddy not found!","code": 9 } ] } 在Xamarin.Android上,BadRequest响应的内容是否为空是否正常?有什么我可以做的,例如以不同的方式配置HttpClient,以便我收到StringContent? 编辑:我们正在使用AndroidClientHandler.为此,我们在Android项目中添加了一个文本文件,将其BuildAction设置为AndroidResource,将其内容设置为XA_HTTP_CLIENT_HANDLER_TYPE = Xamarin.Android.Net.AndroidClientHandler 解决方法
这是AndroidClientHandler中的一个错误.它没有正确读取错误响应. (见
https://github.com/xamarin/xamarin-android/blob/master/src/Mono.Android/Xamarin.Android.Net/AndroidClientHandler.cs#L308)
我修好了.我们希望他们能快速合并:) https://github.com/xamarin/xamarin-android/pull/180 如果您需要在Xamarin合并并发布它之前使用它,您必须: >将此folder复制到Android项目的某个文件夹中>将所有文件中的命名空间更改为Xamarin.Android.Net.Fix>删除或注释导致编译错误的所有Logger行>将环境文件的内容更改为XA_HTTP_CLIENT_HANDLER_TYPE = Xamarin.Android.Net.Fix.AndroidClientHandler,MyApp.Android(将MyApp.Android替换为Android应用程序的程序集名称) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 发布ASP.NET应用程序时,是否应该将构建类型更改为Visual St
- 动手造轮子:实现一个简单的依赖注入(零)
- asp.net – 如何在asp:GridView中启用就地编辑?
- asp.net – page load()或者page init()
- asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyE
- asp.net – 从URLReferrer获取querystring
- ASP.NET MVC+EF 项目架构搭建
- asp.net-mvc – ASP.NET MVC2 – 自定义模型绑定器示例
- asp.net – Global.asax中的事件未触发
- ASP.NET拒绝基于角色访问某些页面