private static void Service(TcpListener server) { for (;;) { TcpClient client = server.AcceptTcpClient(); client.ReceiveTimeout = 60000; NetworkStream stream = client.GetStream(); //ClientHandler handler = new ClientHandler(); AppDomain clientDom = AppDomain.CreateDomain(Thread.CurrentThread.Name); ClientHandler handler = (ClientHandler)clientDom.CreateInstanceAndUnwrap("tcplistenertest", "ClientHandler"); try { handler.Communicate(stream); } catch (Exception ex) { Console.WriteLine("Communication failure: {0}", ex.Message); } AppDomain.Unload(clientDom); stream.Close(); client.Close(); } }