2

我目前正在使用 Azure 中继服务,但在处理流时遇到了问题。我需要以同步方式使用此服务,因为将使用此实现的软件需要它。

我正在打开一个流到服务并从中读取数据StreamReader(),工作正常。但是现在我必须离开StreamReader而不关闭底层流,因为我必须将答案发送回发送者。

问题是,我不能在StreamReader()不关闭基础流的情况下离开,并且无法重新打开流以发回答案。

任何想法如何解决这个问题?

谢谢你的帮助。

4

1 回答 1

6

有一个接受参数的构造函数的重载。StreamReaderbool leaveOpen传递true可防止在处理StreamReader时关闭流StreamReader

离开打开

类型:System.Boolean

true在 StreamReader 对象被释放后保持流打开;否则,false

StreamReader例如,使用通过更简单的构造函数获得的默认 UTF8 编码和 1024 字节缓冲区:

using (var reader = new StreamReader(stream, Encoding.UTF8, true, 1024, true))
{
    // use reader
} // stream will NOT be closed here
于 2018-02-01T14:43:02.097 回答