List <Guid> noLoginStreamMediaList = null;//尚未登录成功的流媒体设备 private void Login() { //登录设备 StreamMediaListRepository repo = new StreamMediaListRepository(); List <StreamMediaList> streamMediaList = repo.GetList(); if (noLoginStreamMediaList == null) { noLoginStreamMediaList = streamMediaList.Select(_ => _.DeviceID).ToList(); } streamMediaList.FindAll(f => noLoginStreamMediaList.Contains(f.DeviceID)).ForEach(_ => { CHCNetSDK.NET_DVR_DEVICEINFO_V30 deviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30(); int m_lUserID = CHCNetSDK.NET_DVR_Login_V30(_.VideoIP, _.Port, _.UserName, _.PassWord, ref deviceInfo); if (m_lUserID >= 0) { //登录成功 UserID_m_lAlarmHandle temp_UserID_m_lAlarmHandle = new UserID_m_lAlarmHandle(m_lUserID, -1, deviceInfo); if (!Device_UserID_Alarm.Keys.Contains(_.VideoIP)) { Device_UserID_Alarm.Add(_.VideoIP, temp_UserID_m_lAlarmHandle); } noLoginStreamMediaList.Remove(_.DeviceID); } }); }
public override void ExecuteCommand(AppSession session, StringRequestInfo requestInfo) { List <CameraList> cameraList; List <StreamMediaList> streamMediaList; List <StreamServerList> streamServerList; List <StationList> stationList; //获取数据库的所有设备信息,登录设备 CameraListRepository camera = new CameraListRepository(); cameraList = camera.GetList(); StreamMediaListRepository streamMedia = new StreamMediaListRepository(); streamMediaList = streamMedia.GetList(); StreamServerListRepository streamServer = new StreamServerListRepository(); streamServerList = streamServer.GetList(); StationListRepository station = new StationListRepository(); stationList = station.GetList(); //组装数据 DeviceData data = new DeviceData(); data.cameraList = cameraList; data.streamMediaList = streamMediaList; data.streamServerList = streamServerList; data.stationList = stationList; //转json string str = JsonConvert.SerializeObject(data); session.Send(str); }