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 *語句。這兩個班級都沒有其他需要處理的資源。 –