Note that there are some explanatory texts on larger screens.

plurals
  1. POMust i abort this thread? Waiting for namedpipes. How do i do this properly?
    primarykey
    data
    text
    <p><a href="https://stackoverflow.com/questions/1689360/best-way-to-keep-a-pipe-open-after-a-remote-close">I have another question about this same code and keeping the pipe open after the client closes it</a></p> <p>But here i have a problem gracefully terminating my app. My main code is below. There are 2 problems. 1) I am using Thread.Abort and 2) This application doesnt actually end. I can set a breakpoint and see abort is called and step to the ending brace but the IDE is still in debug mode and the process is still alive (in process manager). How do i properly terminate this?</p> <pre><code>[STAThread] static void Main(string[] args) { Thread t; t = new Thread(new ThreadStart(ThreadStartServer)); bool hasInstance = true; try { pipeStream = new NamedPipeServerStream(pipename); hasInstance = false; pipeStream.Close(); t.Start(); pipeStream.Dispose(); } catch (System.IO.IOException) { hasInstance = true; } if (hasInstance) { clientPipeMessage(args[1]); return; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); t.Abort(); } static public void ThreadStartServer() { while (true) { using (NamedPipeServerStream pipeStream = new NamedPipeServerStream(pipename)) { Console.WriteLine("[Server] Pipe created {0}", pipeStream.GetHashCode()); // Wait for a connection pipeStream.WaitForConnection(); Console.WriteLine("[Server] Pipe connection established"); using (StreamReader sr = new StreamReader(pipeStream)) { string temp; while ((temp = sr.ReadLine()) != null) { Console.WriteLine("{0}: {1}", DateTime.Now, temp); } } } } Console.WriteLine("Connection lost"); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload