Yeah, that is exactly what I had to do. I think when the thread was not running in the foreground, the client sometimes wouldn't terminate even when connection.Close had been called.
On 02/08/07, Tomas Restrepo <[EMAIL PROTECTED]> wrote: > > Hi Rupert, > > > consumer.OnMessage += new MessageReceivedDelegate(OnMessage); > > connection.Start(); > > > > my program continues to its end point. Then it exist and terminates the > > connection. I think previously the .Net would keep running until the > > message delivery thread was terminated. Has the .Net code been changed > > so > > that it works differently now? If so, how do I join to the delivery > > thread > > to prevent my program from terminating prematurely? Thanks. > > I'm not so sure that I remember the exact change, but it should be because > the dispatcher thread is now created as a background thread instead of > foreground thread (see line 618 of AmqChannel.cs). > > I'm not sure this isn't a good thing, btw. You can still use any > synchronization mechanism you want rejoin the threads (i.e. wait until > something happens and then Stop() the channel). > > Tomas Restrepo > http://www.winterdom.com/weblog/ > >
