gpt4 book ai didi

c# - 使用 StreamContent 时如何正确处理流

转载 作者:IT王子 更新时间:2023-10-29 04:24:20 24 4
gpt4 key购买 nike

我正在尝试从我的 webapi 端点返回一个流,然后通过处理该流进行清理。

我预计这是正确的方式,但流当然会在返回之前被处理掉。

using(var stream = GetStream()){
var response = new HttpResponseMessage();
response.Content = new StreamContent(stream);

return response;
}

处理流的正确方法是什么?

(由于 MSDN 未提及 StreamContent 或其方法的行为,我的临时解决方案是将流的内容复制到字节数组并返回它。)

最佳答案

因为您唯一需要处理的资源是 HttpResponseMessage 的内容,所以您不必担心。该框架会为您处理。它将处理 HttpResponseMessage ,这将完成所有需要的处理。删除 using ,它应该可以正常工作。

HttpResponseMessage 将在处理时处理其内容。参见 .NET Core implementation

StreamContent 将在处理时处理其流。参见 .NET Core implementation of StreamContent

如果您需要处理 HttpResponseMessage 未处理的内容,您可以使用 request.RegisterForDispose,如 Filip Woj 所述。

关于c# - 使用 StreamContent 时如何正确处理流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38784434/

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