1

我正在使用秒表启动和停止来找出 Web 服务的处理时间,但是当我刷新页面以便使用相同的参数进行另一个测试时,除了第二个和所有其他测试之外的所有数据带回不同的结果。但是当我重新启动 IIS 服务器时,它再次显示初始结果。

所以我的问题是为什么我第一次及时收到不同的结果?

顺便说一句,我用 C# 编写了 Web 服务。

4

1 回答 1

3

要了解为什么第一次会慢得多,请考虑第一次必须发生的事情:

  1. 程序集必须从磁盘加载。
  2. 代码将被 jitted,这意味着它必须从 IL 转换为机器码。
  3. 必须解析页面 (.cshtml/.aspx)。解析后,它们的编译表示将存储在内存中,并在后续请求时立即可用。

一般来说,在您第二次加载页面时,这些都不会发生。第一次发生然后被缓存的可能还有无数其他事情。这就是为什么后续刷新通常会快得多的原因。

于 2012-10-04T22:22:07.337 回答