public static OnvifMonitor InitOnvifMonitorByIpAddrWhenNotInit(string ipAddr, out ResponseStruct rs) { if (Common.OnvifManagers != null) { OnvifInstance ovi = Common.OnvifManagers.FindLast(x => x.IpAddr.Trim().Equals(ipAddr.Trim())) !; if (ovi != null) { if (ovi.OnvifMonitor == null) { ovi.OnvifMonitor = new OnvifMonitor(ovi.IpAddr, ovi.Username !, ovi.Password !); ovi.OnvifMonitor.InitMonitor().Wait(); return(GetOnvifMonitor(ipAddr, out rs)); } return(GetOnvifMonitor(ipAddr, out rs)); } rs = new ResponseStruct() { Code = ErrorNumber.OnvifMonitorNotInit, Message = ErrorMessage.ErrorDic ![ErrorNumber.OnvifMonitorNotInit],
/// <summary> /// 载入onvif设备配置 /// </summary> public static bool LoadOnvifMonitors() { try { DirectoryInfo dir = new DirectoryInfo(WorkPath); OnvifManagers.Clear(); foreach (FileInfo file in dir.GetFiles()) { if (file.Extension.Trim().ToLower().Equals(".oconf")) //找到配置文件 { List <OnvifMonitorStruct> onvifList = JsonHelper.FromJson <List <OnvifMonitorStruct> >(File.ReadAllText(file.FullName)); if (onvifList != null && onvifList.Count > 0) { if (OnvifManagers == null) { OnvifManagers = new List <OnvifInstance>(); } foreach (var ov in onvifList) { OnvifInstance oi = new OnvifInstance(); oi.Password = ov.Password; oi.Username = ov.Username; oi.ConfigPath = file.FullName; oi.IpAddr = ov.Host !; OnvifManagers.Add(oi); } } } } LogWriter.WriteLog("Onvif配置文件加载成功..."); return(true); } catch (Exception ex) { LogWriter.WriteLog("Onvif配置文件加载失败...", ex.Message + "\r\n" + ex.StackTrace, ConsoleColor.Yellow); return(false); } }