public ServiceChannel(string uri, HttpClientSetting setting)
 {
     this.Uri           = uri;
     this.ClientSetting = setting;
     filterManagement   = this.ClientSetting.FilterManagement;
     HttpWebNetwork     = new HttpWebNetwork(setting);
 }
        /// <summary>
        /// get请求处理
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="parameters"></param>
        /// <param name="objs"></param>
        /// <returns></returns>
        private Task <HttpResponseMessage> GetRequest(string uri, ParameterInfo[] parameters, params object[] objs)
        {
            Task <HttpResponseMessage> rd;

            if (objs == null || objs.Length == 0)
            {
                rd = HttpWebNetwork.GetRequest(uri);
            }
            else
            {
                StringBuilder sb = new StringBuilder();
                foreach (ParameterInfo p in parameters)
                {
                    if (objs[p.Position] != null)
                    {
                        sb.Append($" {p.Name}={objs[p.Position]}&");
                    }
                }
                string ss  = sb.ToString().TrimEnd('&').Trim();
                string url = $"{uri}?{ss}";

                rd = HttpWebNetwork.GetRequest(System.Uri.EscapeUriString(url));
            }
            return(rd);
        }
        /// <summary>
        /// Post请求处理
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="objs"></param>
        /// <returns></returns>
        private Task <HttpResponseMessage> PostRequest(string uri, params object[] objs)
        {
            Task <HttpResponseMessage> rd;

            if (objs == null || objs.Length == 0)
            {
                rd = HttpWebNetwork.PostRequest(uri);
            }
            else
            {
                object obj = objs[0];
                if (obj is Stream)
                {
                    rd = HttpWebNetwork.PostRequest(uri, (FileStream)obj);
                }
                else
                {
                    string body = obj.ToJsonString();
                    rd = HttpWebNetwork.PostRequest(uri, body);
                }
            }
            return(rd);
        }
        private Task <HttpResponseMessage> SendStream(FileTransferAttribute sa, params object[] objs)
        {
            string uri = HttpWebHelper.PathCombine(Uri, sa.Uri);

            return(HttpWebNetwork.SendStream(uri, sa.ContentName, sa.ContentType, objs));
        }