Beispiel #1
0
        //公开方法
        /// <summary>
        /// 异步开始一个远程调用
        /// </summary>
        /// <param name="methord">方法</param>
        /// <param name="Params">参数数组</param>
        /// <returns></returns>
        public async Task <JsonRpcRes> JsonRpcAsync(string methord, ArrayList Params)
        {
            JsonRpcReq NewTask = new JsonRpcReq(methord, Idlist++, Params);

            Send(NewTask);//这一行应该调用控制器的方法执行NewTask请求
            await Task.Run(() =>
            {
                while (!RespondList.ContainsKey(NewTask.Id))
                {
                    Thread.Sleep(500);
                }
            });

            return(RespondList[NewTask.Id]);
        }
Beispiel #2
0
        /// <summary>
        /// 同步开始一个远程调用
        /// </summary>
        /// <param name="methord">方法</param>
        /// <param name="Params">参数数组</param>
        /// <returns></returns>
        public JsonRpcRes JsonRpc(string methord, ArrayList Params)
        {
            JsonRpcReq NewTask = new JsonRpcReq(methord, Idlist++, Params);

            Send(NewTask);//这一行应该调用控制器的方法执行NewTask请求

            while (!RespondList.ContainsKey(NewTask.Id))
            {
                Thread.Sleep(500);
            }
            var s = RespondList[NewTask.Id];

            RespondList.Remove(NewTask.Id);
            return(s);
        }
Beispiel #3
0
        public Queue <JsonRpcRes> NoticeList = new Queue <JsonRpcRes>();                       //通知列表

        //私有方法
        private void Send(JsonRpcReq SendMessage)//发消息
        {
            ws.Send(JsonConvert.SerializeObject(SendMessage));
        }