static void Main() { LaserController controller = new LaserController(); // publish the controller to the remoting system TcpChannel channel = new TcpChannel(1176); ChannelServices.RegisterChannel(channel, false); RemotingServices.Marshal(controller, "controller.rem"); // hand over to the controller controller.Start(); // the application is finishing - close down the remoting channel RemotingServices.Disconnect(controller); ChannelServices.UnregisterChannel(channel); }