网站在解决方案构建后启动时间很长

6
在开发中,我们的Asp.Net 4网站在项目库构建完成后启动需要相当长的时间。
我们会进行一些静态内容的填充等操作,但这些操作并不足以解释应用程序启动需要长达3-4分钟的原因。
我们只是在构建库而非网站,.config文件中编译元素的batch != true。
我将尝试记录一些诊断信息,但如果您还有其他指南,请告知。

你是否正在下载你所使用的框架库的*.pdb文件? - Justin Niessner
@Tom Gullen:是的,这是我们的开发环境... - Matt Evans
@Justin Niessner:不确定,我该怎么说呢?我又该如何防止它发生。 - Matt Evans
2
@Embo - 在Visual Studio中...工具->选项->调试->符号。应该有两个单选按钮,一个是“所有模块,除非排除”,另一个是“仅指定模块”。如果选择前者,则会下载所有内容的符号。 - Justin Niessner
谢谢 - 我们已经勾选了这个标志。我会测试并回复。 - Matt Evans
4个回答

9
您也可以尝试在 web.config 的编译会话上添加 optimizeCompilations="true" 参数,以优化编译。
<compilation debug="true" batch="false" optimizeCompilations="true" >

我编译dll后,第一次运行我的网站也需要花费太长时间。


听起来很有趣。我会调查一下并尝试一下。 - Matt Evans
1
@Embo,对于这种情况要小心:当您使用一个函数(var1, var2, var3 = some default)时,如果您更改输入变量,例如您使它成为function(var1, var2, var3 = some default, var4 = some default),那么您需要找到所有使用它的aspx文件,打开更改一行并保存,因为此标志会缓存所使用的函数,如果使用的函数具有默认变量,并且您更改了它,这个缓存就无法理解它。 - Aristos
@Anicho,微软为早期版本提供了一个补丁。 - Aristos
1
优秀的解决方案 - 我有一个非常大的项目,其中包含其他项目的 DAL、BLL 等。这确实帮助加速了 PLL 的开发。 - George Filippakos
1
不错..它可以了..谢谢@Aristos - Arun D

2

希望下面的步骤可以减少你的时间

关闭你的项目,然后删除 'Visual Studio Solution User Options (.suo)' 文件,重新打开项目


+1 这对我很有效。我的应用程序以前需要超过30分钟才能构建,但是使用这个解决方案后,它可以快速构建。 - RSB

0

如果您的解决方案链接了许多项目,当您进行构建时,它将构建每个项目。如果您有一些不需要更改的项目,则可以删除该项目本身并直接引用 .dll。


是的,我知道。只有六个项目,它们都可以相当快地构建。问题在于构建后浏览站点中的某个页面需要很长时间。 - Matt Evans
所以一旦网站完全加载完成并尝试浏览,从一个页面到另一个页面需要3-4分钟...或者只是某个特定页面需要那么长时间才能加载? - Patrick
第一页有些问题,之后大部分都没问题了。 - Matt Evans

0
这里正确的做法是使用dotTrace或Dynatrace进行分析和了解问题所在。它会告诉你执行所有代码需要多长时间。
另一个潜在的问题是你的解决方案无法找到适当的库。打开融合日志查看器以确定是否存在任何程序集绑定失败。

如何执行dotTrace或Dynatrace? - styfle
下载它并且使用起来非常容易。https://www.jetbrains.com/profiler/download/ 当需要时,性能分析是真正有所作为的事情之一。 - xmorera

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