.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());
}
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
1 单件模式,电脑只能启动一个进程实例。如果系统已经启动,只将进程重新唤醒,显示主窗体。
2 异常处理。WinForms程序实现自定义业异常处理,将.NET代码中抛出的异常拦截处理,包含抛出异常的完整堆栈。
3 设置进程的优先级别,加快执行速度。
4 设置ORM序列化模式。每一个Entity都有一个Id标识符,这里设置不生成Id,可加块ORM运行速度。
如果是调试阶段,可以保留此选项以方便调试诊断问题。
5 读取配置文件。
6 启动程序主界面。应用到参数化的方式启动。这里应用可以启动组件缓存,验证许可文件,测试数据库连接,连接应用服务器(.NET Remoting)程序。
比如给进程传递启动参数FLEX MIS MIS 2,这4个参数的含义依次是登入FLEX帐套,使用的登入用户名和密码依次是MIS,登入界面使用2(简体中文)。