如何在命名管道(c#)上进行非等待写入?

我正在使用.net 3.5命名管道,我的服务器端是:

serverPipeStream = new NamedPipeServerStream("myPipe", PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous); 

当我用BinaryWriter写一些数据时,write()调用本身不会返回,直到客户端在其NamedPipeClientStream上调用了read()。

BinaryWriter是:

 writer = new BinaryWriter(serverPipeStream); 

我知道NamedPipeServerStream提供了BeginRead / BeginWrite但是从我收集的内容来看,命名管道应该允许streamwriters在它们之上执行(如许多微软给出的例子所示)。

那么如何让我的write()到命名管道不等待?

在此先感谢您的帮助。

问题是BinaryWriter没有BeginWrite函数,因此,如此处所示 ,您可以写入MemoryStream ,然后使用其缓冲区传递给管道的BeginWrite函数。

希望有所帮助。