zoukankan      html  css  js  c++  java
  • .NET HttpClient扩展

        /// <summary>
        /// HttpClient扩展类
        /// </summary>
        public static class HttpClientExtensions
        {
            /// <summary>
            /// HttpClient请求封装
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <typeparam name="TResult"></typeparam>
            /// <param name="method"></param>
            /// <param name="url"></param>
            /// <param name="sendContent"></param>
            /// <returns></returns>
            public static async Task<ResultInfo<TResult>> RequestAsync<T, TResult>(this HttpClient client, HttpMethod method, string url, T sendContent = default(T))
            {
                HttpRequestMessage requestMessage = new HttpRequestMessage(method, url)
                {
                    Content = method == HttpMethod.Get ? null : new ObjectContent<T>(sendContent, new JsonMediaTypeFormatter())
                };
                var response = await client.SendAsync(requestMessage);
                if (response.IsSuccessStatusCode)
                {
                    var content = await response.Content.ReadAsAsync<TResult>();
    
                    return new ResultInfo<TResult>(true, "请求成功")
                    {
                        Data = content
                    };
                }
                else
                {
                    var error = await response.Content.ReadAsAsync<HttpError>();
    
                    return new ResultInfo<TResult>(false, error.Message);
                }
            }
        }
  • 相关阅读:
    jQuery应用 代码片段
    正则表达式大全
    js表单编程
    补充回顾
    Socket网路编程
    异常处理
    day18-2 反射详解
    day18-1 面向对象进阶
    day18-1 多态
    day17-2 继承
  • 原文地址:https://www.cnblogs.com/guokun/p/5843744.html
Copyright © 2011-2022 走看看