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

5

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

在谷歌上研究后,我找到了一些加速的线索,即:

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

这些是否足以使我的.net应用程序更快,还是有其他遗漏的东西?


8
  • 叮咚,叮咚。
  • 谁在那里? (长时间等待...)
  • .Net。 :-)
- Dariusz
这是什么类型的应用程序,是表单/WPF/控制台...你怎么知道是框架启动慢了?在测量点之前,你的代码在做什么? - adrianm
@adriamn:这是一个使用WPF和表单的Windows应用程序。起初我以为是因为我的WPF代码,所以我省略了大部分不必要的控件,但仍然出现了同样的问题。我认为这不是由于我的系统配置引起的,因为我试图等待大约20-30分钟来启动我的应用程序。 - SharpUrBrain
4个回答

4

2
您可以使用SysInternals的ProcMon来在启动期间对您的应用程序进行分析。这将记录所有具有时间戳的注册表/文件访问情况。它可能会指出导致延迟的区域。
此外,在冷启动时,您的计算机是否有大量磁盘访问?您的病毒扫描器是否正在启动时进行全面扫描?

1
不,我是在我的正常系统中使用它,没有任何启动应用程序,在系统稳定后运行我的应用程序,我遇到了这个问题。 - SharpUrBrain

0
如果您从硬盘中检索大量文件,则系统尚未加载这些文件。这可能是启动缓慢的原因。
此外,如果您没有给系统足够的时间来启动,它仍然可能同时加载其他应用程序。

0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接