0
首先我写入NamedPipeClientStream,然后从中读取。这基本上工作。但是我没有得到StreamReader和StreamWriter的资源处理权。对同一管道上的流进行资源处理
方法1
using (StreamWriter sw = new StreamWriter(pipeStream))
{
// ...
using (StreamReader sr = new StreamReader(pipeStream))
{
// ...
}
}
的sw
处置失败,因为流已经关闭。
方法2
using (StreamWriter sw = new StreamWriter(pipeStream))
{
// ...
}
using (StreamReader sr = new StreamReader(pipeStream))
{
// ...
}
现在在另一个进程斗争管服务器,因为管道连接被提前关闭。
方法3
在another question regarding file streams有人建议使用一个单独的数据流的读者和作家。但是这不能应用,因为它们都应该使用相同的管道实例。
那么在这种情况下,流如何正确管理?
是的,StreamReader/Writer.Dispose()方法将关闭管道流。这很少是你想要的,不要使用* using *语句。这两个班级都没有其他需要处理的资源。 –