static int RunMain(string[] arguments) { const int Result = 0; AppDomain.CurrentDomain.UnhandledException += (sender, args) => { Dev2Logger.Fatal("Server has crashed!!!", args.ExceptionObject as Exception, "Warewolf Fatal"); }; if (Environment.UserInteractive || (arguments.Count() > 0 && arguments[0] == "--interactive")) { Dev2Logger.Info("** Starting In Interactive Mode **", GlobalConstants.WarewolfInfo); using (_singleton = new ServerLifecycleManager(arguments)) { _singleton.Run(true); } _singleton = null; } else { Dev2Logger.Info("** Starting In Service Mode **", GlobalConstants.WarewolfInfo); using (var service = new ServerLifecycleManagerService()) { ServiceBase.Run(service); } } return(Result); }
public static void Main(string[] args) { ConfigureLogging(); Dev2Logger.Info("Studio " + Warewolf.Studio.AntiCorruptionLayer.Utils.FetchVersionInfo() + " Starting.", GlobalConstants.WarewolfInfo); try { var wrapper = new SingleInstanceApplicationWrapper(); wrapper.Run(args); } catch (Exception e) { Dev2Logger.Fatal("failed starting app", e, GlobalConstants.ServerWorkspaceID.ToString()); } }
static async Task <int> Main(string[] arguments) { AppDomain.CurrentDomain.UnhandledException += (sender, args) => { Dev2Logger.Fatal("Server has crashed!!!", args.ExceptionObject as Exception, "Warewolf Fatal"); }; try { using (new MemoryFailPoint(2048)) { return(await RunMain(arguments)); } } catch (InsufficientMemoryException) { return(await RunMain(arguments)); } }