- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个通过 HttpSelfHostServer (ASP.Net WebApi Beta) 运行的小型 REST 服务,但在反序列化一些发布到服务器的数据时遇到了一些问题。方法签名如下:
public HttpResponseMessage PostServers(ServerType serverType)
该方法被调用正常,但是在使用以下代码反序列化数据时:
var servers = Request.Content.ReadAsAsync<List<ServerZoneInformation>>().Result;
...
抛出 IOException 并显示消息“无法访问已关闭的流。”。尝试通过
反序列化代码时发生相同的错误XmlSerializer serializer = new XmlSerializer(typeof(List<ServerZoneInformation>));
var servers = (List<ServerZoneInformation>)serializer.Deserialize(Request.Content.ReadAsStreamAsync().Result);
...
但是,如果我使用以下方法,我可以获得该方法:
XmlSerializer serializer = new XmlSerializer(typeof(List<ServerZoneInformation>));
string data = Request.Content.ReadAsStringAsync().Result;
using (MemoryStream ms = new MemoryStream(UTF8Encoding.UTF8.GetBytes(data)))
{
var servers = (List<ServerZoneInformation>)serializer.Deserialize(ms);
...
}
我是不是在前两种情况下做错了什么,或者这是 WebApi 中的错误?
注意:我还没有在通过 IIS 托管时尝试过这个。
干杯
本
最佳答案
在与 ASP.Net 网站上的 MS 人员交谈后,它是当前 WebApi 测试版中的一个错误,更多信息 here .此问题应在下一版本的 WebApi 中得到修复。
关于c# - HttpContent.ReadAsAsync 反序列化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9968870/
我们在代码库中看到了以下堆栈跟踪: System.ArgumentException: An item with the same key has already been added. at
我有这个代码示例,它是作为对另一个问题 (Send a file via HTTP POST with C#) 的回答而发布的。除了一个问题外,它工作正常。它用双引号将 HTTP header 中的边
我正在尝试使用 HttpContent: HttpContent myContent = HttpContent.Create(SOME_JSON); ...但是我没有运气找到它定义的 DLL。 首先
我正在研究应该完成简单事情的自定义过滤器。我所有的 API 都包装到“响应”对象中。我想使用过滤器填写所有属性。这是我的过滤器代码: public class MeteringFilter : IAc
我已经创建了一个 API,它应该能够通过 POST 和字符串形式的请求主体连接到外部 API。 我可以毫不费力地直接从 Postman 连接到 API。但是它不能通过我自己的 API 工作。 有什么想
我有一个通过 HttpSelfHostServer (ASP.Net WebApi Beta) 运行的小型 REST 服务,但在反序列化一些发布到服务器的数据时遇到了一些问题。方法签名如下: publ
我正在将 HttpContent 转换为以下 dto: public class ContentDto { public string ContentType {get; set;}
我正在使用 HttpClient.PostAsync() 并且响应是 HttpResponseMessage。它的 Content 属性是 HttpContent 类型,它有一个 CopyToAsyn
使用 Web API 2.2,假设我想从 HttpContent 中读取两次,每次都是不同的类型。 await httpContent.LoadIntoBufferAsync(); //necessa
我在网络上看到大量使用新 HttpClient 的示例对象(作为新 Web API 的一部分)应该有 HttpContent.ReadAsAsync方法。然而,MSDN没有提到这个方法,Intelli
这个问题在这里已经有了答案: POSTing JsonObject With HttpClient From Web API (10 个答案) Send HTTP POST message in A
尝试将文件添加到 http rest 调用时出现此错误: responseJson = {Message: "An error has occurred.", ExceptionMessage: "I
我正在设置一个 API 来与数据库交互,当该 API 收到一个帖子以创建一个已经存在于它的相应表中的条目时,我想返回一个带有解释性消息的代码 209 冲突。所以我尝试了这个: Controller p
我尝试创建 Windows 应用商店应用。我需要发送邮寄请求,但我遇到了问题。我的方法: private async Task POST(byte[] pic, string uploa
我正在使用 Microsoft.AspNet.WebApi.Client在我的 ASP.MVC 5 项目中使用休息服务。我正在关注 this使用 HttpClient 的教程。代码未编译,因为 Rea
我目前正在开发 C# Web API。对于特定调用,我需要使用对 API 的 ajax 调用发送 2 个图像,以便 API 可以将它们保存为数据库中的 varbinary(max)。 如何从 Http
我们正在构建一个高度并发的 Web 应用程序,最近我们开始广泛使用异步编程(使用 TPL 和 async/await)。 我们有一个分布式环境,其中应用程序通过 REST API(构建在 ASP.NE
我正在集成一个从几乎端点返回此模型的 API { meta: { ... }, data: { ... } } 但对于某些调用,数据是同类对象的数组 { meta: { ... },
在我的 Owin 自托管 Web Api 项目中,我正在尝试构建一个 custom MediaTypeFormatter继承自 BufferedMediaTypeFormatter 。但问题是Http
我正在尝试将以下读取 HttpContent 的完整字符串响应的代码转换为字符串,以仅读取特定的最大字符数。现有代码: private static async Task GetContentStri
我是一名优秀的程序员,十分优秀!