为什么我的.net应用程序在重启机器后启动速度非常慢?

有没有人知道为什么在机器重启(即冷启动)后启动.net应用程序的速度非常慢?

在谷歌研究后,我发现了一些加速它的线索,即

  1. 合并程序集
  2. 设置资源语言
  3. NGEN
  4. GAC安装等

这足以让我的.net应用程序更快或其他任何东西在那里我不见了?

另一个原因可能是Authenticode签名的程序集,没有互联网连接。 请参阅为什么签名的程序集加载缓慢? 例如, WPF应用程序在启动时运行缓慢 。

您可以使用SysInternals的ProcMon在启动期间分析您的应用程序。 这将使用时间戳记记所有注册表/文件访问。 它可能会指向一个有延迟的区域。

此外,冷启动时,您的机器是否有大量光盘访问权限? 你的病毒扫描程序是否在启动时进行全面扫描?

如果您从硬盘驱动器中提取大量文件,那么您的系统尚未加载它们。 这可能是启动缓慢的原因。

此外,如果您没有给系统足够的时间启动,它仍然可以同时加载其他应用程序。

正如其他人所说,您的计算机可能仍在启动后的前几分钟内加载其他应用程序。 您的硬盘(最慢的组件之一)正忙着尝试加载其他应用程序及其各自的数据。

如果您的计算机上有第二个磁盘,请尝试在第二个磁盘上安装您的应用程序。 如果第二个磁盘在此期间通常处于空闲状态,我认为该应用程序启动速度会更快。