#region Copyright (C) 2016 Kevin (OSS开源系列) 公众号:osscoder /*************************************************************************** *   文件功能描述:Http请求辅助类 * *   创建人: Kevin * 创建人Email:1985088337@qq.com * * 修改日期:2017-2-12 * 修改内容:迁移至HttpClient框架下 * *****************************************************************************/ #endregion using System.Net.Http; using System.Threading; using System.Threading.Tasks; using OSS.Http.Mos; namespace OSS.Http.Extention { /// /// http请求辅助类 /// public static class RestExtention { #region 扩展方法 /// /// 同步的请求方式 /// /// 请求的参数 /// /// 自定义的Response结果 public static Task RestSend(this OsHttpRequest request, HttpClient client = null) { return RestSend(request, HttpCompletionOption.ResponseContentRead, CancellationToken.None, client); } /// /// 同步的请求方式 /// /// 请求的参数 /// /// /// 自定义的Response结果 public static Task RestSend(this OsHttpRequest request, HttpCompletionOption completionOption, HttpClient client = null) { return RestSend(request, completionOption, CancellationToken.None, client); } /// /// 同步的请求方式 /// /// 请求的参数 /// /// /// /// 自定义的Response结果 public static Task RestSend(this OsHttpRequest request, HttpCompletionOption completionOption, CancellationToken token, HttpClient client = null) { return (client ?? GetDefaultClient()).RestSend(request, completionOption, token); } #endregion private static HttpClient _Client=null; /// /// 配置请求处理类 /// /// private static HttpClient GetDefaultClient() { if (_Client != null) return _Client; return _Client = new HttpClient(); } } }