gpt4 book ai didi

c# - 从 HttpResponseMessage.Content 读取流式内容

转载 作者:行者123 更新时间:2023-11-30 21:08:28 26 4
gpt4 key购买 nike

我有一个从 WCF 休息服务获取 httpresponsemessage 的客户端程序。我一辈子都无法阅读该回复中的内容。它在内容中简单地表示“流数据内容”,内容长度为 0,内容类型为“”。

我尝试了 ReadAsStream() 并尝试将流转换为 xml 文档,但我收到一条错误消息,指出缺少根节点。

我试过使用 WebClient,但我不知道在标题中放什么。

有谁知道如何处理我的响应消息内容中的“流数据内容”?

最佳答案

有几个问题可能会突然出现。

读取 XML

我不知道 ReadAsStream 是否适用于 XmlDocument,但如果您可以使用 XDocument,那一定会更容易。无论如何,如果 WCF 休息服务返回 XML 之外的其他内容,您将需要处理它。例如

var stream = response.Content.ReadAsStream();
using (var reader = XmlReader.Create(stream))
{
XDocument.Load(reader);
}

标题与正文

第二个问题可能与生成响应的方式有关。进行查询时,您可以指定是只读取标题,还是读取整个主体。鉴于内容长度为零,这意味着您正在返回一个未知大小的流。您需要以这种方式处理流 - 将其加载到可以正确使用流的东西中。

您不需要使用 WebClient,因为 HTTP 库就是为这些东西制作的。

埃里克

关于c# - 从 HttpResponseMessage.Content 读取流式内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com