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

如何在命名管道(c#)上执行非等待写入?,c#,named-pipes,nonblocking,client-server,C#,Named Pipes,Nonblocking,Client Server,我使用的是.net 3.5命名管道,我的服务器端是: serverPipeStream = new NamedPipeServerStream("myPipe", PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous); 当我使用BinaryWriter写入一些数据时,write()调用本身不会返回,直到客户端调用了其NamedPipeClientStream上的read() 二进制编写器是: w

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

serverPipeStream = new NamedPipeServerStream("myPipe", PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
当我使用BinaryWriter写入一些数据时,write()调用本身不会返回,直到客户端调用了其NamedPipeClientStream上的read()

二进制编写器是:

writer = new BinaryWriter(serverPipeStream);
我知道NamedPipeServerStream提供了BeginRead/BeginWrite,但据我所知,命名管道应该允许StreamWriter在它们之上执行操作(如许多Microsoft示例所示)

那么,如何使对命名管道的write()不等待


提前感谢您的帮助。

问题在于BinaryWriter没有
BeginWrite
函数,因此,正如建议的那样,您可以写入a,然后使用its缓冲区传递到管道的
BeginWrite
函数

希望有帮助