예제 #1
0
        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);
        }
예제 #2
0
 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());
     }
 }
예제 #3
0
        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));
            }
        }