Lind.DDD.Utils.HttpHelper里静态对象引出的Http超时问题

时间:2024-06-24 13:05:44

回到目录

Lind.DDD.Utils.HttpHelper组件主要实现了对HTTP的各种操作,如Get,Post,Put和Delete,它属于最纯粹的操作,大叔把它封装的目的主要为了实现与API安全授权的统一,你不可能为每个请求都写一个“逻辑完全一样的加密规则”,这是违背DRY原则的,我们应该通过面向对象的各位原则,将这种可变的部分封装!

公开的统一方法

aaarticlea/png;base64,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" alt="" />

真正的对象转键/值对

支持对复杂类型,集合类型转为Dictionary的键值对,它并不是网上说的,只把一层属性进行拼接,而是大叔利用递归写了一个算法,琢层查找对象。

      /// <summary>
/// 将对象转为键值对象(完全支持最复杂的类型)
/// 作者:仓储大叔
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static IDictionary<string, string> ToDictionary(this object obj)
{
try
{
var dic = new Dictionary<string, string>();
var prefix = new Dictionary<string, string>();
foreach (var p in obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
ReGenerate(obj, p, prefix, dic, null);
prefix.Clear();
}
return dic;
}
catch (Exception)
{ throw;
} }

其中ReGenerate核心方法被封装到了Lind.DDD.Utils.HttpHelper组件里

静态对象引起的超时

对于Http方法来说,我们可以定义它的handler,添加一些压缩,代理,身份验证等信息,但在组件设计时一定要注意,当你定义了handler之后,如果又显示的设计了超时时间,千万不要将handler做成全局静态属性,因为这样会让你的第一次请求后的其它请求都超时,因为你的超时时间依赖你全局的handler,正确的做法,应该在每个方法里(get,post,put,delete)定义自已的handler,类似这样的代码是正确的。

        public static HttpResponseMessage Get(string requestUri, NameValueCollection nv = null, int timeOut = )
{
var handler = new HttpClientHandler() { AutomaticDecompression = System.Net.DecompressionMethods.GZip };
using (var http = new HttpClient(handler))
{ //超时
http.Timeout = new TimeSpan(, , 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;
}
}

对于一种知识,一个概念的理解程度,有时决定了组件设计的正确性与安全性!

让我们一起对技术做更深入,更直接的研究吧!

回到目录