当前位置: 首页 > news >正文

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

相关文章:

  • position的static、relative、absolute、fixed、inherit
  • 内部和外部排序排序
  • python遍历
  • C#基础总结 .
  • LeetCode 15. 3Sum; 16. 3Sum Closest; 259. 3Sum Smaller; 18. 4Sum
  • 蓝牙4.0 For IOS
  • gpio_direction_output和gpio_set_value
  • JVM系列三:JVM运行时数据区
  • web安全Wargame—Natas解题思路(1-26)
  • jQuery插件开发详细教程
  • Vue.js从Virtual DOM映射到真实DOM的过程
  • screen终端命令使用
  • 德国精品软件   cFosSpeed 网络优化软件
  • 数据分析师完整的知识结构
  • 结构体中定义函数指针
  • CAP 一致性协议及应用解析
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES6核心特性
  • Git学习与使用心得(1)—— 初始化
  • JavaScript-Array类型
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JS实现简单的MVC模式开发小游戏
  • js作用域和this的理解
  • linux安装openssl、swoole等扩展的具体步骤
  • Mac转Windows的拯救指南
  • Next.js之基础概念(二)
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聊聊flink的BlobWriter
  • 深入浅出webpack学习(1)--核心概念
  • 实习面试笔记
  • 事件委托的小应用
  • 算法系列——算法入门之递归分而治之思想的实现
  • 通过git安装npm私有模块
  • 温故知新之javascript面向对象
  • 《天龙八部3D》Unity技术方案揭秘
  • 【干货分享】dos命令大全
  • PostgreSQL之连接数修改
  • 正则表达式-基础知识Review
  • ​secrets --- 生成管理密码的安全随机数​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #### go map 底层结构 ####
  • #Lua:Lua调用C++生成的DLL库
  • #pragma multi_compile #pragma shader_feature
  • (04)odoo视图操作
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (145)光线追踪距离场柔和阴影
  • (AngularJS)Angular 控制器之间通信初探
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (过滤器)Filter和(监听器)listener
  • (三)uboot源码分析