static void Main() { H调试.初始化(); H日志输出.设置(__日志 => H调试.记录(__日志.概要, __日志.等级, __日志.详细, __日志.方法, __日志.文件, __日志.行号), TraceEventType.Warning); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new F主窗口()); }
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(); }
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日志>().初始化(); }
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客户端.连接(__服务器地址); }
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调试.记录(__日志.概要, __日志.等级, __日志.详细, __日志.方法, __日志.文件, __日志.行号)); 加载设备列表(); }
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(); }