2011-01-19 101 views
1

我试图寻找答案,以这种“相关”的问题,但他们似乎没有真正被相关...加快Web应用程序的编译

基本上我有一个目录中的VB.Net应用,管理部分(可以改变目录,监视页面浏览等等)和客户前端的其他基本页面。

当我在本地机器上编译和运行应用程序时,它似乎很快编译并运行得非常快。但是,当部署在服务器上时,它似乎需要花费很长时间和一天的时间才能完成首页加载(不管它是哪个页面,有多少样式表/ JS文件,有多少图片,页面标记有多大以及等等)。在这之后,所有页面加载速度非常快。我的猜测是这是由于必须从头开始加载代码;之后,直到它被回收,应用程序运行速度非常快。有没有人有任何想法如何我可以加快这部分的应用程序?我担心有些客户(因速度低于拨号速度而导致连接速度慢等)可能会由于加载速度不够快而离开网站而永远不会返回。任何帮助将不胜感激。

在此先感谢。

问候,

理查德

PS如果你是指我的一些其他问题,你会发现更多的有关系统,如大多数数据加载到对象的事实第一页加载 - 我正在慢慢分拣出来,但它似乎并没有造成这么大的差别。我曾经考虑过使用Linq-to-SQL,但据我所知,这并没有给我太大的灵活性。我宁愿定义自己的系统体系结构,并将其专用于公司,而不是在Linq-to-SQL的限制范围内工作。

+0

它是一个Web应用程序或网站?它是否预编译? “永远和一天”究竟有多久? – bzlm 2011-01-19 22:22:02

+0

这是一个在Visual Web Developer中设置的Web应用程序。在将它们发送到实时或测试环境之前,我总是编译我的应用程序。永远和一天的范围从约5秒到10或15秒。它似乎变化很大。我的意思是,如果在同一台服务器上有一些高容量的站点,它可能很容易受到一天中的时间的影响,但在一天中的任何时间似乎都不是特别快。 – ClarkeyBoy 2011-01-19 22:26:37

回答

0

如果可以,最简单的解决方案就是将AppDomain配置为在闲置一段时间后不回收。 IIS 6 & IIS 7之间的差异如下:

另一种方法是编写一个小型实用程序,该程序每4分钟向网站请求一个页面,并将其设置为另一台计算机上的计划任务时间。至少可以防止发生超时和随后发生的AppDomain回收。可以肯定的是,这是一种黑客攻击,但有时候任何解决方案总比没有解决方案好。

但是,正确的解决方案是precompile your views。如何完成和部署这取决于您的网站的Visual Studio项目的确切类型。

相关问题