public Object Post([FromQuery] string lane_code, [FromBody] pf_MessageStatusContext_Obj message_status)
        {
            try
            {
                lock (MessageHub.StatusList)
                {
                    if (MessageHub.StatusList.Count(x => x.lane_code == message_status.lane_code) > 0)
                    {
                        MessageHub.StatusList[MessageHub.StatusList.FindIndex(x => x.lane_code == message_status.lane_code)] = message_status;
                        Loger.AddLogText(DateTime.Now.ToString() + "修改:" + message_status.lane_name + "数据成功");
                        return(GetJson(HttpStatusCode.OK, "修改成功"));
                    }
                    else
                    {
                        return(GetJson(HttpStatusCode.NotFound, "没有找到该条数据,无法修改"));
                    }
                }
            }



            catch (Exception ex)
            {
                Loger.AddErrorText("API修改车道数据失败", ex);
                return(GetJson(HttpStatusCode.InternalServerError, ex.ToString()));
            }
        }
Example #2
0
        public override Task OnConnected()
        {
            //连接角色判断。
            try
            {
                switch (Context.QueryString["Type"])
                {
                case "Client":

                    if (StatusList.Count(x => x.lane_code == Context.QueryString["Name"]) > 0)
                    {
                        var temp = StatusList.FirstOrDefault(x => x.lane_code == Context.QueryString["Name"]);

                        temp.connection_id = Context.ConnectionId;


                        //数据更新
                    }
                    if (SetValue)    //调试用赋值方法
                    {
                        pf_MessageStatusContext_Obj obj = new pf_MessageStatusContext_Obj();
                        obj.lane_code     = Context.QueryString["Name"];
                        obj.connection_id = "offline";
                        StatusList.Add(obj);
                    }
                    break;

                case "LaneWatch":

                    break;

                case "Broswer":

                    break;

                case "WorkWatch":

                    break;

                default:

                    break;
                }
                AddToSession(); //加入车道缓存。
                F5();           //刷新
                #region 测试用

                #endregion
            }
            catch (Exception ex)
            {
                Loger.AddErrorText("连接方法", ex);
            }

            return(base.OnConnected());
        }