【问题标题】:asp.net website (development) takes very long to load first time (C# / Visual Studio 2012)asp.net 网站(开发)第一次加载需要很长时间(C#/Visual Studio 2012)
【发布时间】:2012-10-09 10:03:57
【问题描述】:

我知道关于生产网站的问题已经有很长一段时间了。但是,我想知道在开发过程中是否可以采取任何措施来加快网站的初始加载时间。我一直在计时,加载初始主页最多需要 50 秒。后续加载仅需 1 - 3 秒。此外,当我“中断”执行时,它不会在代码中的任何位置停止,而只会说“未找到源代码”。

输出窗口列出了很多:

'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_scrollablecontent.ascx.fdc5856b.1gwjfghw.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_newarticles.ascx.44e66049.4ezrpblb.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_rightcolumnmediumrectangleadvert.ascx.57649735.kymbya94.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_main.master.cdcab7d2.lei5axii.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_articleheadline.ascx.c8a8415c.klhhkoqx.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_articleheadlines.ascx.c8a8415c.ikuqn1xd.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_panel.ascx.fdc5856b.a0mhhnzv.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_articlelistingitempanel.ascx.2acfc5c3.nqj5yies.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_otherheadlinespanel.ascx.205896d5.cg_7tycu.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0a486d18\8cf9a7c5\App_Web_articleheadlinesandotherheadlines.ascx.1d347881.zttdxgh7.dll', Symbols loaded.

此外,输出窗口以每秒 2 到 3 行的速度写入每一行(即每个组件)。该网站使用大量用户控件来使其更有条理。

有什么办法可以加快开发的初始页面加载速度?这确实浪费了开发人员的大量时间,不得不一直等待初始页面加载。我一直在尝试使用 Cassini 和 IIS Express,但两者的加载时间似乎相似。

【问题讨论】:

  • 我在 VS 中处理过一些非常大的项目(带有大量初始化代码),但从未见过需要这么长时间。您使用的系统的规格是什么?此外,我们真的很难告诉您任何事情,除非我们更多地了解您的应用程序在启动时所做的可能导致这些延迟的事情。例如,您是否执行 Global.asax 文件中的任何内容?
  • 您是否尝试过“编辑并继续”?可以在大型项目上节省大量时间

标签: c# asp.net iis-express cassini


【解决方案1】:

您是否一直在生成所有程序集?我曾经这样做,但现在我只在我的工作项目中设置构建选项(在解决方案属性中)。除非我手动生成,否则所有其他 dll 将不再生成。

【讨论】:

  • “始终生成所有程序集”是什么意思?
  • 抱歉耽搁了。如果您的解决方案有多个项目,那么如果您重新构建或清理您的解决方案,则每次都要生成每个程序集。每次您重新构建或清理(和构建)时,都会编译您的其他项目。
【解决方案2】:

因为它是自上次发布以来第一次编译您的应用程序。这就是为什么它第一次很慢。它在每次发布后重新编译一次。因此,当您运行/调试/编译时,根据应用程序/库的大小重新编译需要时间。

您可以卸载您在网站中使用的库和程序集,以使其加载更快。

【讨论】:

  • 如何卸载正在使用的库/程序集?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多