似乎我花了差不多一半的时间在.NET中徘徊我的拇指等待IIS旋转起来,而不是实际开发。
这非常简单:只要我有机会创build一个代码隐藏文件并进行刷新,IIS需要15秒到1分钟的时间才能回收。
有什么办法可以改善吗? 这是疯了。
我在网站项目(而不是Web应用程序项目)中工作,运行Windows 7并在.NET 4框架中工作。 我的机器只有几个月的时间,有一个SSD,所以我不认为硬件应该是瓶颈。
另外,我甚至没有在大部分时间debugging应用程序,尽pipe运行速度更慢。
编辑
无论您使用哪种类型的IIS,加快速度的最佳方法之一是创建一个RAM驱动器,并将您的TEMP, 特别是 ASP.NET Temporary Files
夹指向它。 ASP.NET临时文件包含您的页面的编译的二进制文件。 ASP.NET在启动时检查这个文件夹,只重新编译有变化的页面。 把这个文件夹放在RAM驱动器上会使启动时间增加几个数量级。 该技术在多篇文章中有描述, 在“ 削减你的ASP.NET编译/加载时间没有任何辛苦的工作 ”
作为一个额外的好处,你也将减少SSD的磨损。
原版的
对于Web应用程序
这听起来像你已经设置您的项目使用Visual Studio开发服务器或IIS Express,而不是您的机器的本地IIS服务。 发生这种情况时,Dev server将从零开始,这会导致严重的延迟。
这是新建Web项目的默认设置。 开发服务器非常有用,因为它将您的项目作为随机可用端口上的根虚拟目录启动。 缺点是开始需要很长的时间。
您可以通过更改您的项目来使用本地IIS,并在特定的虚拟目录下启动,从而显着加快速度。 在这种情况下,服务器已经在运行,唯一需要的是应用程序池回收。 应用程序池回收实际上非常快,除非在aspx页面中嵌入了大量代码,否则您可能不会注意到任何延迟,这需要在每次回收时重新编译。
要更改用于调试的服务器类型,请转至Web应用程序的“ 属性”>“Web”,然后在“ servers
部分中,将所选内容从“开发服务器”更改为“本地IIS”。 你将不得不为你的应用程序创建一个虚拟目录,但这可以通过在Project Url
文本框中输入所需的URL并按下“创建虚拟目录”按钮来轻松完成。
对于网站项目
IIS Express / Visual Studio Dev server对本地IIS实例的影响也适用于Web站点项目。 基于文件的网站默认使用dev服务器。 更改为本地IIS服务的过程是不同的。 谢天谢地,详细描述如何在Visual Studio中为Web项目指定Web服务器
您必须了解网站项目的工作方式。 每个文件在每个变化之后都会被编译进它自己的DLL中。 没有办法改变这一点。
现在,需要多长时间取决于你的代码。 有些事情可以做,以提高速度。 您可以清除\ Windows \ Microsoft.NET中的ASP.NET临时文件文件夹,并且可以去除任何未使用的引用或者没有使用的任何使用语句。 这将减少编译时间。
网站项目实际上得不到很好的支持,并且有许多缺点。 唯一真正的好处是即时编译,正如你所发现的,反正不是那么好。
您可能想要阅读这篇文章:
http://msdn.microsoft.com/en-us/library/dd547590.aspx
对于新的开发,我们建议您选择Web应用程序项目。 这个主题解释说,网站项目有一些优势,但是很多选择网站项目的开发者最终发现缺点大于任何可感知的优势。 另外,随着新的ASP.NET功能的开发,它们并不总是可用于网站项目。 例如,在Visual Studio 2012之后的下一个Visual Studio版本中,将会有用于创建Web项目的新工具,而这个新工具只能用于Web应用程序项目。