public static void Quit(StartType type) { switch (type) { case StartType.BaseService: try { if (mAppHost != null) { //EFWCoreLib.WcfFrame.ClientLinkPoolCache.Dispose(); ClientManage.StopHost(); mAppHost.Close(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Red, "数据服务已关闭!"); } } catch { if (mAppHost != null) { mAppHost.Abort(); } } break; case StartType.FileService: try { if (mFileHost != null) { mFileHost.Close(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Red, "文件传输服务已关闭!"); } } catch { if (mFileHost != null) { mFileHost.Abort(); } } break; case StartType.HttpService: try { if (mHttpHost != null) { mHttpHost.Close(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Red, "Http服务已关闭!"); } } catch { if (mHttpHost != null) { mHttpHost.Abort(); } } break; case StartType.RouterBaseService: try { if (mRouterHost != null) { mRouterHost.Close(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Red, "数据路由服务已关闭!"); } } catch { if (mRouterHost != null) { mRouterHost.Abort(); } } break; case StartType.RouterFileService: try { if (mFileRouterHost != null) { mFileRouterHost.Close(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Red, "文件路由服务已关闭!"); } } catch { if (mFileRouterHost != null) { mFileRouterHost.Abort(); } } break; case StartType.SuperClient: UpgradeManage.Stop(); UpgradeClient.Stop(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Red, "升级包服务已停止"); SuperClient.Stop(); MiddlewareLogHelper.WriterLog(LogType.TimingTaskLog, true, System.Drawing.Color.Red, "超级客户端已关闭!"); break; case StartType.MiddlewareTask: MiddlewareTask.StopTask(); //停止任务 MiddlewareLogHelper.WriterLog(LogType.TimingTaskLog, true, System.Drawing.Color.Red, "定时任务已停止!"); break; } }
public static void Run(StartType type) { switch (type) { case StartType.BaseService: mAppHost = new ServiceHost(typeof(BaseService)); //初始化连接池,默认10分钟清理连接 ClientLinkPoolCache.Init(true, 200, 30, 600, "wcfserver", 30); AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\"; AppGlobal.appType = AppType.WCF; AppGlobal.IsSaas = HostSettingConfig.GetValue("issaas") == "1" ? true : false; AppGlobal.AppStart(); ClientManage.IsHeartbeat = HostSettingConfig.GetValue("heartbeat") == "1" ? true : false; ClientManage.HeartbeatTime = Convert.ToInt32(HostSettingConfig.GetValue("heartbeattime")); ClientManage.StartHost(); mAppHost.Open(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "数据服务启动完成"); break; case StartType.FileService: AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\"; mFileHost = new ServiceHost(typeof(FileService)); mFileHost.Open(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "文件服务启动完成"); break; case StartType.HttpService: //初始化连接池,默认10分钟清理连接 ClientLinkPoolCache.Init(true, 200, 30, 600, "httpserver", 30); AppGlobal.AppRootPath = System.Windows.Forms.Application.StartupPath + "\\"; mHttpHost = new WebServiceHost(typeof(HttpService)); mHttpHost.Open(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "Http服务启动完成"); break; case StartType.RouterBaseService: mRouterHost = new ServiceHost(typeof(RouterBaseService)); RouterManage.Start(); mRouterHost.Open(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "路由数据服务启动完成"); break; case StartType.RouterFileService: mFileRouterHost = new ServiceHost(typeof(RouterFileService)); mFileRouterHost.Open(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "路由文件服务启动完成"); break; case StartType.SuperClient: SuperClient.Start(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "超级客户端启动完成"); PublisherManage.Start(); SubscriberManager.Start(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "发布订阅启动完成"); DistributedCacheManage.Start(); DistributedCacheClient.Start(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "分布式缓存启动完成"); UpgradeManage.Start(); UpgradeClient.Start(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "升级包管理启动完成"); MonitorTirggerManage.Start(); MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "监视触发器启动完成"); break; case StartType.MiddlewareTask: MiddlewareTask.StartTask(); //开启定时任务 MiddlewareLogHelper.WriterLog(LogType.MidLog, true, Color.Blue, "定时任务启动完成"); break; } }