Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 保持管道畅通_C#_Pipe - Fatal编程技术网

C# 保持管道畅通

C# 保持管道畅通,c#,pipe,C#,Pipe,我有两个程序(服务器/客户端) 我正在尝试为它们设置IPC(它们都在同一个框上运行) 使用System.IO.Pipes和Net 3.5 当我调用ComOpen时,它会正确地打开管道,将进程ID发送到服务器,但随后管道关闭,当它尝试发送“第二次写入测试”时,我收到一个错误 所以问题是。 如何在程序的生命周期中保持管道畅通? (如果客户端崩溃,我将使用服务器上的进程ID关闭一切) 问题在于以下几行: using (QstWriter = new StreamWriter(IPCPipe)) 在u

我有两个程序(服务器/客户端) 我正在尝试为它们设置IPC(它们都在同一个框上运行) 使用System.IO.Pipes和Net 3.5

当我调用ComOpen时,它会正确地打开管道,将进程ID发送到服务器,但随后管道关闭,当它尝试发送“第二次写入测试”时,我收到一个错误

所以问题是。 如何在程序的生命周期中保持管道畅通? (如果客户端崩溃,我将使用服务器上的进程ID关闭一切)


问题在于以下几行:

using (QstWriter = new StreamWriter(IPCPipe))
在using语句的末尾,将处理StreamWriter,这将依次处理IPCPipe。您还在QstWriter上显式调用Dispose和Close,这也将关闭管道


若要修复此问题,请删除using语句以及对QstWriter进行Dispose和Close的调用。只分配并初始化QstWriter一次。

谢谢您解决了这个问题。
using (QstWriter = new StreamWriter(IPCPipe))