private string openCom(string e) { var role = container.Resolve <SerialPortActionRole>(); RS232Bean bean = container.Resolve <RS232Bean>(); HashMap paras = JsonConvert.DeserializeObject <HashMap>(e); bean.PortName = paras.GetValue <String>("PortName"); role.BaseBean = bean; return(role.openCom()); }
/// <summary> /// 向串口发送十六进制指令 /// 并且是否订阅串口回发的消息 /// 此次发送后是否关闭串口 /// </summary> /// <param name="session"></param> /// <param name="e"></param> /// <returns></returns> private string sendComCommand(WebSocketSession session, string e) { var role = container.Resolve <SerialPortActionRole>(); RS232Bean bean = container.Resolve <RS232Bean>(); HashMap paras = JsonConvert.DeserializeObject <HashMap>(e); bean.PortName = paras.GetValue <String>("PortName"); bean.Command = paras.GetValue <String>("Command"); role.BaseBean = bean; //引用当前的session,当然在websocket连接没有断开之前,一直有效 return(role.sendComCommand()); }
/// <summary> /// RS232注入实体 /// </summary> public SerialPortActionRole(RS232Bean m_Rs232Bean) { this.m_BaseBean = m_Rs232Bean; }
private string comSetting(WebSocketSession session, string e) { var role = container.Resolve <SerialPortActionRole>(); RS232Bean bean = container.Resolve <RS232Bean>(); HashMap paras = JsonConvert.DeserializeObject <HashMap>(e); try { String portName = paras.GetValue <String>("PortName"); bean.PortName = portName; } catch (Exception er) { Tools.PubMessage(er.Message); bean.PortName = Tools.GetAppSetting("m_portName"); } try { String parity = paras.GetValue <String>("Parity"); bean.Parity = (Parity)Enum.Parse(typeof(Parity), parity); } catch (Exception) { bean.Parity = Parity.None; } try { int dataBits = paras.GetValue <int>("DataBits"); bean.DataBits = dataBits; } catch (Exception) { bean.DataBits = 8; } try { String stopBits = paras.GetValue <String>("StopBits"); bean.StopBits = (StopBits)Enum.Parse(typeof(StopBits), stopBits); } catch (Exception) { bean.StopBits = StopBits.One; } try { int boundRate = paras.GetValue <int>("boundRate"); if (boundRate == 0) { boundRate = 9600; } bean.BoundRate = boundRate; } catch (Exception) { bean.BoundRate = 9600; } role.BaseBean = bean; return(role.comSetting()); }