Enerprise Solution Main 启动方法源代码

.NET 系统以Main方法作为应用程序的启动入口点,Enterprise Solution的启动程序源代码如下:

      [STAThread]
        static void Main()
        {
            string MAIN_INSTANCE_KEY = "EnterpriseMain";
            SingleProgramInstance mainInstance = new SingleProgramInstance(MAIN_INSTANCE_KEY);
            if (!mainInstance.IsSingleInstance)
            {
                mainInstance.RaiseOtherProcess();
                return;
            }

            CustomExceptionHandler eh = new CustomExceptionHandler();
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CustomExceptionHandler.CurrentDomain_UnhandledException);
            Application.ThreadException += new ThreadExceptionEventHandler(eh.OnThreadException);
            Application.SetCompatibleTextRenderingDefault(false);
            Application.EnableVisualStyles();
            Application.DoEvents();

            BaseCommon.SetProcessPriority(ProcessPriorityClass.AboveNormal);

            SerializationHelper.Optimization = SerializationOptimization.Fast;
            SerializationHelper.PreserveObjectIDs = false;

            ReadConfigFile();
            ApplicationInstance.Appplication.Run(Environment.GetCommandLineArgs());
        }

1 单件模式,电脑只能启动一个进程实例。如果系统已经启动,只将进程重新唤醒,显示主窗体。

2 异常处理。WinForms程序实现自定义业异常处理,将.NET代码中抛出的异常拦截处理,包含抛出异常的完整堆栈。

3 设置进程的优先级别,加快执行速度。

4 设置ORM序列化模式。每一个Entity都有一个Id标识符,这里设置不生成Id,可加块ORM运行速度。

如果是调试阶段,可以保留此选项以方便调试诊断问题。

5 读取配置文件。

6 启动程序主界面。应用到参数化的方式启动。这里应用可以启动组件缓存,验证许可文件,测试数据库连接,连接应用服务器(.NET Remoting)程序。

比如给进程传递启动参数FLEX MIS MIS 2,这4个参数的含义依次是登入FLEX帐套,使用的登入用户名和密码依次是MIS,登入界面使用2(简体中文)。

原文地址:https://www.cnblogs.com/JamesLi2015/p/4651623.html