Ejemplo n.º 1
0
        /// <summary>
        /// GET请求
        /// </summary>
        /// <param name="requestUri">服务地址</param>
        /// <param name="nv">参数键值</param>
        /// <param name="timeOut">超时</param>
        /// <param name="isSendSessionId">是否将自己sessionid传到requestUri服务上</param>
        /// <returns></returns>
        public static HttpResponseMessage Get(
            string requestUri,
            NameValueCollection nv,
            int timeOut,
            bool isSendSessionId)
        {
            using (var http = new HttpClient(GetHttpHandler(requestUri, isSendSessionId)))
            {    //超时
                http.Timeout = new TimeSpan(0, 0, timeOut);
                HttpResponseMessage response;
                try
                {
                    response = http.GetAsync(GeneratorUri(requestUri, ApiValidateHelper.GenerateCipherText(nv))).Result;
                }
                catch (Exception ex)
                {
                    response = new HttpResponseMessage(System.Net.HttpStatusCode.RequestTimeout)
                    {
                        Content = new StringContent("请求超时")
                    };
                    Logger.LoggerFactory.Instance.Logger_Error(ex);
                }

                return(response);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///  PUT请求
        /// </summary>
        /// <param name="requestUri">请求地址</param>
        /// <param name="nv">参数键值</param>
        /// <param name="timeOut">超时</param>
        /// <returns>响应流</returns>
        public static HttpResponseMessage Put(
            string requestUri,
            NameValueCollection nv,
            int timeOut,
            bool isSendSessionId)
        {
            using (var http = new HttpClient(GetHttpHandler(requestUri, isSendSessionId)))
            {
                http.Timeout = new TimeSpan(0, 0, timeOut);
                HttpResponseMessage response;
                try
                {
                    var body = new Dictionary <string, string>();
                    foreach (string item in nv.Keys)
                    {
                        body.Add(item, nv[item]);
                    }
                    response = http.PutAsync(GeneratorUri(
                                                 requestUri,
                                                 ApiValidateHelper.GenerateCipherText(nv, true)),
                                             new FormUrlEncodedContent(body)).Result;
                }
                catch (Exception ex)
                {
                    response = new HttpResponseMessage(System.Net.HttpStatusCode.RequestTimeout)
                    {
                        Content = new StringContent("请求超时")
                    };
                    Logger.LoggerFactory.Instance.Logger_Error(ex);
                }

                return(response);
            }
        }