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(简体中文)。