gpt4 book ai didi

c# - 南希外汇 : Are streams disposed when using StreamResponse()?

转载 作者:行者123 更新时间:2023-12-04 03:20:17 26 4
gpt4 key购买 nike

使用 StreamResponse() 时,流是否在 NancyFx 中处理?

使用 streamWriter 写入流,我无法在不关闭要发送的流的情况下处理它。在我看来,我也无法手动处理流,因为我有效地在返回时保留了该方法。

此代码有效:

// Open a stream and write to it with streamReader
Stream memStream = new MemoryStream();
StreamWriter memWriter = new StreamWriter(memStream, Encoding.UTF8);
memWriter.Write(someStringText);
memWriter.Flush();
memStream.Position = 0;

// Add stream to the respose which should get downloaded
var response = new StreamResponse(() => memStream, MimeTypes.GetMimeType(contentType));
return response.AsAttachment(someFileName);

我是否需要担心在垃圾收集器出现之前流会一直存在,或者它是否被 StreamResponse 正确处理?

最佳答案

根据 StreamResponse.cs , StreamResponse.Dispose()处理 Func<Stream> 返回的流, Nancy 负责处理 ResponseNancyContext 的末尾.

至于处理StreamWriter在不影响底层流的情况下,请参阅 this answer .

关于c# - 南希外汇 : Are streams disposed when using StreamResponse()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850783/

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