public void 配置() { INET.H日志输出.设置(q => Console.WriteLine(string.Format("{0}\t{1}\t{2}\n{3}\t{4}({5})\n{6}", q.等级, q.概要, q.详细, q.文件, q.方法, q.行号, q.异常))); _IT服务端 = FT通用访问工厂.创建服务端(); var __命令行 = new B命令行(); var __命令行对象 = 创建对象(_IT服务端, __命令行); _IT服务端.添加对象("命令行", () => __命令行对象); var __进程管理 = new B进程管理(); var __进程管理对象 = 创建对象(_IT服务端, __进程管理); _IT服务端.添加对象("进程管理", () => __进程管理对象); var __FTP = new BFTP(); var __FTP对象 = 创建对象(_IT服务端, __FTP); _IT服务端.添加对象("FTP", () => __FTP对象); var __链路监控配置 = HJSON.反序列化 <M链路监控配置>(File.ReadAllText(H路径.获取绝对路径("链路监控配置.txt"), Encoding.UTF8)); var __链路监控 = new B链路监控(__链路监控配置); var __链路监控对象 = 创建对象(_IT服务端, __链路监控); _IT服务端.添加对象("链路监控", () => __链路监控对象); var __进程监控配置 = HJSON.反序列化 <M进程监控配置>(File.ReadAllText(H路径.获取绝对路径("进程监控配置.txt"), Encoding.UTF8)); var __进程监控 = new B进程监控(__进程监控配置); var __进程监控对象 = 创建对象(_IT服务端, __进程监控); _IT服务端.添加对象("进程监控", () => __进程监控对象); var __资源监控配置 = HJSON.反序列化 <M资源监控配置>(File.ReadAllText(H路径.获取绝对路径("资源监控配置.txt"), Encoding.UTF8)); var __资源监控 = new B资源监控(__资源监控配置); var __资源监控对象 = 创建对象(_IT服务端, __资源监控); _IT服务端.添加对象("资源监控", () => __资源监控对象); var __业务日志对象 = 创建对象(_IT服务端); _IT服务端.添加对象("业务日志", () => __业务日志对象); }
M对象 创建对象(IT服务端 __IT服务端, B命令行 __命令行, string __对象名称 = "命令行", string __分类 = "") { Func <IPEndPoint, string, string> __合并 = (__地址, __标识) => string.Format("{0}:{1}:{2}", __地址.Address, __地址.Port, __标识); Func <string, Tuple <IPEndPoint, string> > __解析 = __合成标识 => { var __数组 = __合成标识.Split(':'); var __地址 = new IPEndPoint(IPAddress.Parse(__数组[0]), int.Parse(__数组[1])); var __标识 = __数组[2]; return(new Tuple <IPEndPoint, string>(__地址, __标识)); }; var __对象 = new M对象(__对象名称, __分类); __对象.添加属性("IsWindows", () => __命令行.IsWindows.ToString(), E角色.客户); __对象.添加方法("创建进程", (__实参列表, __地址) => { var __进程标识 = __合并(__地址, __实参列表["进程标识"]); __命令行.创建进程(__进程标识); return(""); }, E角色.客户, new List <M形参> { new M形参("进程标识", "string"), }); __对象.添加方法("结束进程", (__实参列表, __地址) => { var __进程标识 = __合并(__地址, __实参列表["进程标识"]); __命令行.结束进程(__进程标识); return(""); }, E角色.客户, new List <M形参> { new M形参("进程标识", "string"), }); __对象.添加方法("执行", (__实参列表, __地址) => { var __进程标识 = __合并(__地址, __实参列表["进程标识"]); var __命令行列表 = HJSON.反序列化 <List <string> >(__实参列表["命令行列表"]); __命令行.执行(__进程标识, __命令行列表); return(""); }, E角色.客户, new List <M形参> { new M形参("进程标识", "string"), new M形参("命令行列表", "string", E数据结构.单值数组), }); __对象.添加事件("正常输出", E角色.客户, new List <M形参> { new M形参("参数", new M元数据 { 类型 = "M输出", 结构 = E数据结构.对象, 子成员列表 = new List <M子成员> { new M子成员("进程标识", "string"), new M子成员("内容", "string") } }), }); __对象.添加事件("异常输出", E角色.客户, new List <M形参> { new M形参("参数", new M元数据 { 类型 = "M输出", 结构 = E数据结构.对象, 子成员列表 = new List <M子成员> { new M子成员("进程标识", "string"), new M子成员("内容", "string") } }), }); __对象.添加事件("执行结束", E角色.客户, new List <M形参> { new M形参("参数", new M元数据 { 类型 = "M输出", 结构 = E数据结构.对象, 子成员列表 = new List <M子成员> { new M子成员("进程标识", "string"), new M子成员("内容", "string") } }), }); __命令行.正常输出 += __参数 => { var __分解 = __解析(__参数.进程标识); var __地址 = __分解.Item1; __参数.进程标识 = __分解.Item2; __参数.内容 = __参数.内容 == null ? null : __参数.内容.Replace("{", "").Replace("}", "").Replace("[", "").Replace("]", ""); __IT服务端.触发事件(__对象名称, "正常输出", new Dictionary <string, string> { { "参数", HJSON.序列化(__参数) } }, new List <IPEndPoint> { __地址 }); }; __命令行.异常输出 += __参数 => { var __分解 = __解析(__参数.进程标识); var __地址 = __分解.Item1; __参数.进程标识 = __分解.Item2; __参数.内容 = __参数.内容 == null ? null : __参数.内容.Replace("{", "").Replace("}", "").Replace("[", "").Replace("]", ""); __IT服务端.触发事件(__对象名称, "异常输出", new Dictionary <string, string> { { "参数", HJSON.序列化(__参数) } }, new List <IPEndPoint> { __地址 }); }; __命令行.执行结束 += __参数 => { var __分解 = __解析(__参数.进程标识); var __地址 = __分解.Item1; __参数.进程标识 = __分解.Item2; __参数.内容 = __参数.内容 == null ? null : __参数.内容.Replace("{", "").Replace("}", "").Replace("[", "").Replace("]", ""); __IT服务端.触发事件(__对象名称, "执行结束", new Dictionary <string, string> { { "参数", HJSON.序列化(__参数) } }, new List <IPEndPoint> { __地址 }); }; return(__对象); }