Esempio n. 1
0
 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调试.查询版本()));
 }
Esempio n. 2
0
 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 ? "通" : "断"));
         }
     });
 }
Esempio n. 4
0
 void do启动_Click(object sender, EventArgs e)
 {
     HUI线程.异步执行(this, () =>
     {
         H服务管理.开启(Program.务名);
     }, () =>
     {
         if (_刷新 != null)
         {
             _刷新();
         }
     });
 }
Esempio n. 5
0
 void do关闭_Click(object sender, EventArgs e)
 {
     if (new F对话框_是否("确定要关闭吗?").ShowDialog() != DialogResult.Yes)
     {
         return;
     }
     HUI线程.异步执行(this, () =>
     {
         H服务管理.关闭(Program.务名);
     }, () =>
     {
         _刷新?.Invoke();
     });
 }
Esempio n. 6
0
 private void _B命令行_正常输出(M输出 obj)
 {
     HUI线程.执行(() =>
     {
         if (obj.进程标识 == _进程标识 && !this.Disposing)
         {
             this.out执行结果.AppendText(string.Format("{0}{1}", obj.内容, Environment.NewLine));
             if (_滚屏)
             {
                 this.out执行结果.ScrollToCaret();
             }
         }
     });
 }
Esempio n. 7
0
 private void _BFTP_状态变化(bool __运行中)
 {
     HUI线程.执行(() =>
     {
         this.out状态.Text = __运行中 ? "运行中" : "未启动";
         if (__运行中)
         {
             this.in端口.Text    = _BFTP.端口号.ToString();
             this.in服务器目录.Text = _BFTP.目录;
         }
         this.do开启.Enabled = !__运行中;
         this.do关闭.Enabled = __运行中;
     });
 }
Esempio n. 8
0
 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;
         }
     });
 }
Esempio n. 9
0
        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();
            });
        }
Esempio n. 10
0
 void do卸载_Click(object sender, EventArgs e)
 {
     if (new F对话框_是否("确定要删除吗?").ShowDialog() != DialogResult.Yes)
     {
         return;
     }
     HUI线程.异步执行(this, () =>
     {
         H服务管理.卸载(Program.务名);
     }, () =>
     {
         if (_刷新 != null)
         {
             _刷新();
         }
     });
 }
Esempio n. 11
0
        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();
            }
        }
Esempio n. 12
0
        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);
                }
            });
        }
Esempio n. 13
0
        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();
            });
        }
Esempio n. 14
0
        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();
            });
        }
Esempio n. 15
0
 public F命令行(IT客户端 __客户端)
 {
     HUI线程.初始化();
     _客户端 = __客户端;
     InitializeComponent();
 }
Esempio n. 16
0
 protected void on告警(string __描述)
 {
     HUI线程.执行(() => { 告警?.Invoke(__描述); });
 }