秒表不同的时机为什么?

时间:2012-10-04 22:05:31

标签: c# asp.net iis-7

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

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

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

1 个答案:

答案 0 :(得分:3)

要理解为什么它第一次慢得多,请考虑第一次发生的事情:

  1. 必须从磁盘加载程序集。
  2. 代码将被jitted,这意味着它必须从IL转换为机器代码。
  3. 必须解析页面(.cshtml / .aspx)。解析后,它们的编译表示存储在内存中,并在后续请求时立即可用。
  4. 一般来说,第二次加载页面时都不会发生这种情况。有可能无数其他事情在第一次发生,然后被缓存。这就是后续刷新通常会快得多的原因。