static void Main(string[] args) { H调试.初始化(); if (!Environment.UserInteractive) { var ServicesToRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(ServicesToRun); return; } if (System.Diagnostics.Debugger.IsAttached) { var __B控制器 = new B控制器(); __B控制器.配置(); __B控制器.开启(); Application.Run(new F对话框_确定("程序处于调试模式, 按确定键关闭", "GIS服务器 - 调试模式 " + H调试.查询版本())); __B控制器.关闭(); return; } HUI线程.初始化(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); H容器.注入 <ID数据库, D数据库>(); H容器.注入 <IB数据库, B数据库>(); Application.Run(new F空窗口(new F主窗口(), "GIS服务器 - 运行环境 " + H调试.查询版本())); }
static void Main() { H调试.初始化(); HUI线程.初始化(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new F空窗口(new F登录(), "连接到GIS服务器")); //Application.Run(new F主窗口()); }
private void _BPing_连接变化(string __地址, bool?__旧, bool?__新) { HUI线程.执行(() => { if ((__新 == true && __旧 == false) || __新 == false) { 告警?.Invoke(string.Format("{0} {1}", __地址, __新.Value ? "通" : "断")); } }); }
void do启动_Click(object sender, EventArgs e) { HUI线程.异步执行(this, () => { H服务管理.开启(Program.务名); }, () => { if (_刷新 != null) { _刷新(); } }); }
void do关闭_Click(object sender, EventArgs e) { if (new F对话框_是否("确定要关闭吗?").ShowDialog() != DialogResult.Yes) { return; } HUI线程.异步执行(this, () => { H服务管理.关闭(Program.务名); }, () => { _刷新?.Invoke(); }); }
private void _B命令行_正常输出(M输出 obj) { HUI线程.执行(() => { if (obj.进程标识 == _进程标识 && !this.Disposing) { this.out执行结果.AppendText(string.Format("{0}{1}", obj.内容, Environment.NewLine)); if (_滚屏) { this.out执行结果.ScrollToCaret(); } } }); }
private void _BFTP_状态变化(bool __运行中) { HUI线程.执行(() => { this.out状态.Text = __运行中 ? "运行中" : "未启动"; if (__运行中) { this.in端口.Text = _BFTP.端口号.ToString(); this.in服务器目录.Text = _BFTP.目录; } this.do开启.Enabled = !__运行中; this.do关闭.Enabled = __运行中; }); }
private void _B命令行_异常输出(M输出 obj) { HUI线程.执行(() => { if (obj.进程标识 == _进程标识 && !this.Disposing) { var __index = this.out执行结果.TextLength - 1; this.out执行结果.AppendText(string.Format("{0}{1}", obj.内容, Environment.NewLine)); if (_滚屏) { this.out执行结果.ScrollToCaret(); } this.out执行结果.Select(Math.Max(0, __index), this.out执行结果.SelectionStart - __index); this.out执行结果.SelectionColor = Color.Red; } }); }
void do检测连接_Click(object sender, EventArgs e) { var __账号 = this.in账号.Text; var __密码 = this.in密码.Text; var __数据源 = this.in数据源.Text; var __结果 = ""; HUI线程.异步执行(this, () => { __结果 = _IT客户端.执行方法("数据库", "检测连接", new Dictionary <string, string> { { "账号", __账号 }, { "密码", __密码 }, { "数据源", __数据源 } }); }, () => { new F对话框_确定(__结果).ShowDialog(); }); }
void do卸载_Click(object sender, EventArgs e) { if (new F对话框_是否("确定要删除吗?").ShowDialog() != DialogResult.Yes) { return; } HUI线程.异步执行(this, () => { H服务管理.卸载(Program.务名); }, () => { if (_刷新 != null) { _刷新(); } }); }
void doGIS创建_Click(object sender, EventArgs e) { try { if (_IB数据库.检测GIS数据库()) { new F对话框_确定("GIS数据库已经存在").ShowDialog(); return; } var __数据源 = this.inSQL名称.Text; if (__数据源.StartsWith(".") || __数据源.StartsWith("127.0.0.1") || H网络配置.获取可用IP().Exists(q => __数据源.StartsWith(q.ToString()))) { new F对话框_确定("请选择GIS数据库文件存放路径").ShowDialog(); var __对话框 = new FolderBrowserDialog(); if (__对话框.ShowDialog() != DialogResult.OK) { return; } HUI线程.异步执行(this, () => { //后台线程 _IB数据库.创建数据库(__对话框.SelectedPath); }, () => { //成功后UI更新 new F对话框_确定("新建GIS数据库成功").ShowDialog(); this.BeginInvoke(new Action(() => this.doGIS检测.PerformClick())); }, ex => { //失败后UI更新 new F对话框_确定("新建GIS数据库失败" + Environment.NewLine + ex.Message).ShowDialog(); }); } else { new F对话框_确定("只能在本机新建数据库").ShowDialog(); } } catch (Exception ex) { new F对话框_确定("新建GIS数据库失败" + Environment.NewLine + ex.Message).ShowDialog(); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); this.do配置.Click += Do配置_Click; _B资源监控.告警 += __描述 => HUI线程.执行(() => 告警?.Invoke(__描述)); this.outCPU占用率.Visible = false; this.out内存占用率.Visible = false; this.chart1.ChartAreas[0].AxisX.Maximum = _缓存数量; this.chart1.ChartAreas[0].AxisX.Minimum = 1; this.chart1.ChartAreas[0].AxisY.Maximum = 100; this.chart1.ChartAreas[0].AxisY.Minimum = 0; Task.Factory.StartNew(() => { M资源状态 __状态 = null; Action __UI执行 = () => { 显示状态("内存", __状态.内存使用率, __状态.内存告警, this.out内存占用率, "内存: {0}%"); 显示状态("CPU", __状态.CPU使用率, __状态.CPU告警, this.outCPU占用率, "CPU: {0}%"); }; while (!this.Disposing && !this.IsDisposed) { if (!Visible) { Thread.Sleep(2000); continue; } try { __状态 = _B资源监控.查询状态(); } catch (Exception) { __状态 = new M资源状态(); } this.Invoke(new Action(__UI执行)); Thread.Sleep(1000); } }); }
private void Do统计活跃号码_Click(object sender, EventArgs e) { var __时间 = 获取时间(); var __条件 = new M活跃号码查询条件 { 开始时间 = __时间.Item1, 结束时间 = __时间.Item2, 号码列表 = this.in号码列表.Text.Split(new char[] { ',', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() }; int __结果 = 0; HUI线程.异步执行(this, () => { __结果 = GPS.B入口.数据.统计(__条件); }, () => { new F对话框_确定(string.Format("总数: {0}", __结果)).ShowDialog(); }, ex => { new F对话框_确定(string.Format("执行失败\r\n{0}", ex.Message)).ShowDialog(); }); }
private void Do查询最后位置_Click(object sender, EventArgs e) { var __时间 = 获取时间(); var __条件 = new M最后位置查询条件 { //号码列表 = this.in号码列表.Text.Split(new char[] { ',', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(), //每页数量 = 10000, //页码 = 1 }; M最后位置查询结果 __结果 = null; HUI线程.异步执行(this, () => { __结果 = GPS.B入口.数据.查询(__条件); }, () => { new F空窗口(new F查询最后位置(__结果.列表), "最后位置").ShowDialog(); }, ex => { new F对话框_确定(string.Format("执行失败\r\n{0}", ex.Message)).ShowDialog(); }); }
public F命令行(IT客户端 __客户端) { HUI线程.初始化(); _客户端 = __客户端; InitializeComponent(); }
protected void on告警(string __描述) { HUI线程.执行(() => { 告警?.Invoke(__描述); }); }