【问题标题】:Website takes a long time to start after solution build解决方案构建后网站需要很长时间才能启动
【发布时间】:2013-02-14 22:23:24
【问题描述】:

在开发中,我们的 Asp.Net 4 网站在项目库构建后需要相当长的时间才能启动

我们做了相当多的静态统计等,但不足以证明应用程序启动所需的时间长度(可能是 3-4 分钟)

我们不构建网站,只构建库,并且在 .config 文件的编译元素中批处理 != true。

我会尝试记录一些诊断信息,但任何其他指针都会很有用

【问题讨论】:

  • 您是否正在为您正在使用的框架库拉下 *.pdb 文件?
  • @Tom Gullen:是的,这是我们的开发环境...
  • @Justin Niessner:不确定,我该怎么说?我怎么能阻止它。
  • @Embo - Visual Studio 内部...工具 -> 选项 -> 调试 -> 符号。 “所有模块,除非排除”或“仅指定模块”应该有两个单选按钮。如果选中前者,它将下载所有符号。
  • 谢谢 - 我们确实检查了这个标志。我会测试并回帖。

标签: asp.net optimization build


【解决方案1】:

您也可以在 web.config 的编译会话中尝试optimizeCompilations="true"

<compilation debug="true" batch="false" optimizeCompilations="true" >

在我编译了我的 dll 之后,我的网站第一次运行时间也太长了。

【讨论】:

  • 听起来很有趣。我会调查并试一试。
  • @Embo 对于这种情况要小心:当你使用一个函数(var1,var2,var3 = some default)时,如果你改变输入变量,例如你让它成为函数(var1,var2, var3 = some default, var4 = some default),那么你需要找到你使用它的所有aspx文件,打开换行并再次保存,因为这个标志会缓存使用的函数,如果使用的函数有默认变量,而你改变它,这个缓存无法理解它。
  • @Anicho Microsoft 为以前的版本提供了一个补丁。
  • 优秀的解决方案 - 我有一个非常大的项目,其中包含其他项目 DAL、BLL 等。这确实有助于加快 PLL 开发。
  • 很好..它的工作..谢谢@Aristos
【解决方案2】:

希望以下步骤能减少您的时间

关闭您的项目,然后删除“Visual Studio 解决方案用户选项 (.suo)”文件并重新打开项目

【讨论】:

  • +1 它对我有用。我的应用程序过去也需要超过 30 分钟的时间来构建,并且在这个解决方案之后它会快速构建。
【解决方案3】:

如果您有很多项目与解决方案相关联,那么当您进行构建时,它将构建每个项目。如果您有未对其进行更改的项目,则可以删除项目本身并直接引用 .dll。

【讨论】:

  • 是的,我知道。只有六个项目,它们都构建得相当快。它在构建后浏览到站点中的页面,这需要很长时间。
  • 因此,一旦网站完全加载并您尝试浏览,从一个页面到另一个页面需要 3 到 4 分钟...或者它只是一个需要很长时间才能加载的特定页面?
  • 第一页,后面基本没问题。
【解决方案4】:

正确的做法是使用 dotTrace 或 Dynatrace 来分析和了解问题所在。它会告诉你执行所有代码需要多长时间。

另一个潜在问题是您的解决方案没有找到合适的库。打开融合日志查看器以确定是否存在任何程序集绑定失败。

【讨论】:

  • 如何执行 dotTrace 或 Dynatrace?
  • 下载它,它非常容易使用。 jetbrains.com/profiler/download 分析是在需要时真正发挥作用的事情之一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-15
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多