Ejemplo n.º 1
0
 static void Main()
 {
     H调试.初始化();
     H日志输出.设置(__日志 => H调试.记录(__日志.概要, __日志.等级, __日志.详细, __日志.方法, __日志.文件, __日志.行号), TraceEventType.Warning);
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new F主窗口());
 }
Ejemplo n.º 2
0
        void do连接_Click(object sender, EventArgs e)
        {
            var __ip   = this.inIP2.Text;
            var __port = this.in端口号.Text;
            var __最后访问 = _访问记录.Find(q => q.IP.ToString() == __ip && q.端口号.ToString() == __port);

            if (__最后访问 == null)
            {
                if (!H检测网络.IsHostAlive(__ip, int.Parse(__port), 2000))
                {
                    new F对话框_确定("连接失败").ShowDialog();
                    return;
                }
                else
                {
                    __最后访问 = new M访问记录 {
                        IP = __ip, 端口号 = int.Parse(__port)
                    };
                }
            }
            else
            {
                _访问记录.Remove(__最后访问);
            }
            _访问记录.Insert(0, __最后访问);

            H程序配置.设置("访问记录", H序列化.ToJSON字符串(_访问记录));
            H日志输出.设置(q =>
            {
                if (q.等级 <= TraceEventType.Information)
                {
                    if (q.异常 != null)
                    {
                        H日志.记录异常(q.异常, q.概要, q.详细, q.等级, q.方法, q.文件, q.行号);
                    }
                    else
                    {
                        H日志.记录(q.概要, q.等级, q.详细, q.方法, q.文件, q.行号);
                    }
                }
            });
            _IT客户端 = FT通用访问工厂.创建客户端();
            H容器.注入 <IT客户端>(_IT客户端, false);
            _IT客户端.自动重连 = true;
            _IT客户端.已断开 += q => 设置连接状态();
            _IT客户端.已连接 += 设置连接状态;
            _IT客户端.连接(new IPEndPoint(IPAddress.Parse(__ip), int.Parse(__port)));
            this.ParentForm.ShowInTaskbar = false;
            this.ParentForm.Visible       = false;
            _F主窗口 = new F空窗口(new F主窗口(), "");
            设置连接状态();
            _F主窗口.FormClosing += OnClosing;
            _F主窗口.ShowDialog();
        }
Ejemplo n.º 3
0
        public void 配置()
        {
            var __调试编解码 = H程序配置.获取Bool值("调试编解码");

            H日志输出.设置(q =>
            {
                if (q.等级 < TraceEventType.Information || __调试编解码)
                {
                    if (q.异常 != null)
                    {
                        H日志.记录异常(q.异常, q.概要, q.详细, q.等级, q.方法, q.文件, q.行号);
                    }
                    else
                    {
                        H日志.记录(q.概要, q.等级, q.详细, q.方法, q.文件, q.行号);
                    }
                }
            }, TraceEventType.Verbose);
            _IT服务端    = FT通用访问工厂.创建服务端();
            _IT服务端.端口 = H程序配置.获取Int32值("端口号");
            H容器.注入(_IT服务端, false);
            B通用命令.配置(_IT服务端);

            H容器.注入 <IB数据库, B数据库>();
            H容器.注入 <IB插件, B插件>();
            H容器.注入 <IB订阅, B订阅>();
            H容器.注入 <IBGPS数据, BGPS数据>();
            if (H程序配置.获取Bool值("内存数据库"))
            {
                H容器.注入 <ID数据库, D数据库_内存>();
                H容器.注入 <IDGPS数据, DGPS数据_内存>(__拦截: false);
                H容器.注入 <IB日志, B日志_内存>(__拦截: false);
            }
            else
            {
                H容器.注入 <ID数据库, D数据库>();
                H容器.注入 <IDGPS数据, DGPS数据>(__拦截: false);
                H容器.注入 <IB日志, B日志_内存>(__拦截: false); //未保存到数据库
            }
            H容器.注入 <IBGPS过滤, BGPS过滤>(__拦截: false);

            H容器.取出 <IB数据库>().初始化();
            H容器.取出 <IB订阅>().初始化();
            H容器.取出 <IB插件>().初始化();
            H容器.取出 <IBGPS数据>().初始化();
            H容器.取出 <IB日志>().初始化();
        }
Ejemplo n.º 4
0
 public static void 连接(IPEndPoint __服务器地址, bool __自动重连 = true)
 {
     if (_IT客户端 == null)
     {
         H日志输出.设置(q =>
         {
             if (H程序配置.获取Bool值("调试编解码"))
             {
                 H日志.记录(q.概要, q.等级, q.详细, q.方法, q.文件, q.行号);
             }
         }, System.Diagnostics.TraceEventType.Verbose);
         _IT客户端      = FT通用访问工厂.创建客户端();
         _IT客户端.自动重连 = __自动重连;
         _IT客户端.已连接 += On已连接;
         _IT客户端.已断开 += On已断开;
     }
     _IT客户端.连接(__服务器地址);
 }
Ejemplo n.º 5
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            this.out标题.Text += " " + Assembly.GetExecutingAssembly().GetName().Version;

            this.out设备列表.ShowNodeToolTips      = true;
            this.out设备列表.NodeMouseDoubleClick += out设备列表_NodeMouseDoubleClick;

            this.do设备_断开.Click     += do设备_断开_Click;
            this.out设备菜单.Opening   += out设备菜单_Opening;
            this.out设备列表.MouseDown += TV_MouseDown;

            this.do编辑设备.Click += do编辑设备_Click;
            this.do折叠.Click   += (sender, e1) => this.splitContainer1.Panel1Collapsed = !this.splitContainer1.Panel1Collapsed;

            H日志输出.设置(__日志 => H调试.记录(__日志.概要, __日志.等级, __日志.详细, __日志.方法, __日志.文件, __日志.行号));

            加载设备列表();
        }
Ejemplo n.º 6
0
        static void Main()
        {
            H调试.初始化();
            H日志输出.设置(__日志 => H调试.记录(__日志.概要, __日志.等级, __日志.详细, __日志.方法, __日志.文件, __日志.行号), TraceEventType.Warning);
            var __服务端列表 = new List <IT服务端>();
            var __随机数   = new Random();

            for (int __端口 = 8001; __端口 <= 8001; __端口++)
            {
                #region 初始化环境
                IT服务端 __IT服务端 = FT通用访问工厂.创建服务端();
                __IT服务端.端口 = __端口;
                __服务端列表.Add(__IT服务端);
                #endregion

                #region 配置通用命令
                var __标识 = __端口.ToString();
                H容器.注入 <IB名片_S, B名片_S>(true, true, __标识, __IT服务端);
                H容器.注入 <IB系统_S, B系统_S>(true, true, __标识, __IT服务端);
                H容器.注入 <IB状态_S, B状态_S>(true, true, __标识, __IT服务端);
                H容器.注入 <IBFTP_S, BFTP_S>(true, true, __标识, __IT服务端);

                H容器.取出 <IB名片_S>(__标识).初始化(
                    new M名片 {
                    称 = "设备1", 描述 = "描述1", 版本号 = "1.0.0.0", 版本时间 = DateTime.Now.ToString()
                },
                    new List <M参数> {
                    new M参数("IP列表", "192.168.1.1,202.195.114.1"), new M参数("系统", "Windows 7")
                });
                H容器.取出 <IB状态_S>(__标识).初始化(null, DateTime.Now);
                H容器.取出 <IBFTP_S>(__标识);
                H容器.取出 <IB系统_S>(__标识).初始化(() =>
                {
                    Console.WriteLine("重启");
                }, () =>
                {
                    Console.WriteLine("关闭");
                }, () =>
                {
                    Console.WriteLine("查询版本记录");
                    return(new List <M版本记录>
                    {
                        new M版本记录 {
                            版本号 = "1.0.0.0", 修改记录 = "xxx", 标签 = new List <string> {
                                "a", "b"
                            }
                        },
                        new M版本记录 {
                            版本号 = "1.0.1.0", 修改记录 = "yyy", 标签 = new List <string> {
                                "a1", "b1"
                            }
                        },
                    });
                });

                #endregion

                #region 交互
                //H容器.取出<IBFTP_S>(__标识).开启();
                H容器.取出 <IB状态_S>(__标识).设置属性("类别1", "属性1", () => new M业务概要 {
                    类别 = "类别1", 属性 = "属性1", 当前值 = "1", 正常 = true
                });
                H容器.取出 <IB状态_S>(__标识).设置属性("类别1", "属性2", () => new M业务概要 {
                    类别 = "类别1", 属性 = "属性2", 当前值 = "1", 正常 = false
                });
                Task.Factory.StartNew(() =>
                {
                    for (int i = 0; i < 100; i++)
                    {
                        if (i % 8 < 4)
                        {
                            H容器.取出 <IB状态_S>(__标识).新增告警(new M上报告警
                            {
                                标识     = i.ToString(),
                                产生时间   = DateTime.Now,
                                来源设备类型 = "来源设备类型",
                                来源设备标识 = "来源设备标识",
                                重要性    = (通用命令.状态.E重要性)(i % 4),
                                类别     = "类别",
                                描述     = "描述",
                                原因     = "原因",
                                解决方案   = "解决方案"
                            });
                        }
                        else
                        {
                            H容器.取出 <IB状态_S>(__标识).清除告警(new M上报清除
                            {
                                标识     = (i / 8 * 8 + (8 - i % 8)).ToString(),
                                来源设备类型 = "来源设备类型",
                                来源设备标识 = "来源设备标识",
                            });
                        }
                        Thread.Sleep(1000 * __随机数.Next(3, 3));
                    }
                });

                #endregion

                //break;
            }
            __服务端列表.ForEach(q => q.开启());
            Console.WriteLine("启动完毕, 按回车键关闭");
            Console.ReadLine();
            Console.WriteLine("关闭中");
            __服务端列表.ForEach(q => q.关闭());
            Console.WriteLine("按回车键退出");
            Console.ReadLine();
        }