C# 保持管道畅通
我有两个程序(服务器/客户端) 我正在尝试为它们设置IPC(它们都在同一个框上运行) 使用System.IO.Pipes和Net 3.5 当我调用ComOpen时,它会正确地打开管道,将进程ID发送到服务器,但随后管道关闭,当它尝试发送“第二次写入测试”时,我收到一个错误 所以问题是。 如何在程序的生命周期中保持管道畅通? (如果客户端崩溃,我将使用服务器上的进程ID关闭一切)C# 保持管道畅通,c#,pipe,C#,Pipe,我有两个程序(服务器/客户端) 我正在尝试为它们设置IPC(它们都在同一个框上运行) 使用System.IO.Pipes和Net 3.5 当我调用ComOpen时,它会正确地打开管道,将进程ID发送到服务器,但随后管道关闭,当它尝试发送“第二次写入测试”时,我收到一个错误 所以问题是。 如何在程序的生命周期中保持管道畅通? (如果客户端崩溃,我将使用服务器上的进程ID关闭一切) 问题在于以下几行: using (QstWriter = new StreamWriter(IPCPipe)) 在u
问题在于以下几行:
using (QstWriter = new StreamWriter(IPCPipe))
在using语句的末尾,将处理StreamWriter,这将依次处理IPCPipe。您还在QstWriter上显式调用Dispose和Close,这也将关闭管道
若要修复此问题,请删除using语句以及对QstWriter进行Dispose和Close的调用。只分配并初始化QstWriter一次。谢谢您解决了这个问题。
using (QstWriter = new StreamWriter(IPCPipe))