【发布时间】:2016-12-01 08:29:07
【问题描述】:
我想在 ASP.NET Web 窗体中使用 .NET 4.5 HttpClient 类。 我读过 C# 5.0 in a NutShell 书(第 663 页):
与 WebClient 不同,要使用 HttpClient 获得最佳性能,您必须重用相同的实例(否则诸如 DNS 解析 可能不必要地重复。) HttpClient 允许并发 操作,. . .
在我们的 ASP.NET web Form 网站中,我们需要连接到另一个网站。 我在 Application 属性中创建了一个 HttpClient 实例,以便在所有请求中使用单个实例。 在 Global.asax 中是这样写的:
Application.Add("MateCatWorker", new HttpClient());
我的问题是:这是一个好习惯吗?
【问题讨论】:
-
为什么你认为这不是一个好的做法?
-
因为:当我用上述做法浏览我们的网站时,我遇到了来自客户的 2 种错误,我无法理解为什么。
-
那么您尝试解决什么问题?此外,仅仅因为某些东西不起作用并不意味着它不是最佳实践,它可能只是实践的糟糕实施。
-
@EhsanAbidi 什么错误?您尚未发布任何错误消息或描述任何问题。您发布了 very 奇怪的
Application.Add行 - 重用 empty HttpClient 有什么意义?您仍然需要为每个绝对 URL 重复 DNS 解析!