我一直在寻找一段时间,但似乎很难找到关于如何从调用NamedPipeServerStream.BeginWaitForConnection抛出的异常中恢复的明确答案。我有一个应用程序,它在一个众所周知的名称上设置一个命名管道服务器,并侦听消息以执行某些操作。
在重新启动应用程序之前,它可以正常工作。这通常会导致IOException,“管道正在关闭”。如何正确地从此异常中恢复并为我的命名管道使用相同的名称?任何有利于实现命名管道服务器的良好生产资源都将受到赞赏。
答案 0 :(得分:2)
如果您在开始此过程后立即发送消息。在关闭手柄之前,您应该等待管道排水。关闭前请务必在流上WaitForPipeDrain
。
- 祝你好运!