c# - HttpClient.PostAsync 第一次慢

标签 c# .net uwp

在一些基准测试之后,我意识到每次我启动我的应用程序时,第一个请求都会比下一个请求花费更多的时间。第一个平均 500ms,下一个平均 120ms。

我在 HttpClient 中设置了 cookie,并将 UseProxy 设置为 false。 HttpClient 也已初始化并发出虚拟请求但不等待它以尝试解决此问题。

有人有新想法吗?我正在构建 UWP 应用。

最佳答案

这可能有多种原因。应用程序池正在预热,正在构建路由,DI 容器可能正在注册对象图,正在发生缓存,正在生成和缓存执行计划等等。这只是类(class)的标准和预期。

正如 spender 在评论中提到的,还有其他问题,例如 JIT 开销和 DNS 查找。

您应该始终假设应用程序需要预热时间。在首次运行时预热应用程序被认为是最佳实践,以确保对应用程序的消费者做出快速响应。您无法避免这种预热成本,也不应尝试这样做。相反,构建您的部署,以便您能够在用户点击之前预热应用程序,例如适当的负载平衡和服务器轮换。

关于c# - HttpClient.PostAsync 第一次慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39708448/

相关文章:

.net - 在 F# 中显式实现接口(interface)

c# - UWP Win 10 Tinder 在 Pivot 内刷卡?

windows - Firebase Unity 是否支持 Windows UWP 或 Windows 10 应用程序?

c# - 将对象转换为其他对象的类型

c# - 同步延续到底什么时候是危险的?

c# - 如何检查数据库可用性

c# - WPF 如何从 DataTemplate 访问控件

c# - 如何在 `Listview` 中的最后一首歌曲后停止音乐播放

C# LINQ to XML 缺少空格字符

c# - MongoDB C# Driver 2.1.0 - 解析引用