// Application Starts Here.. public static void Main(string[] args) { RdlDesktop server = new RdlDesktop(); server.HandleArguments(args); // start up the background thread to handle additional work BackgroundThread bk = new BackgroundThread(server, 60 * 5, 60 * 5, 60 * 5); Thread bThread = new Thread(new ThreadStart(bk.HandleBackground)); bThread.Name = "background"; bThread.Start(); // start up the console thread so user can see what's going on ConsoleThread ct = new ConsoleThread(server, bk); Thread cThread = new Thread(new ThreadStart(ct.HandleConsole)); cThread.Name = "console"; cThread.Start(); // Run the server server.RunServer(); server.Cache.ClearAll(); // clean up the report file cache when done }