似乎我花了近一半的时间在.NET上唠叨我的拇指等待IIS旋转而不是实际开发。
这非常简单:只要我有机会使用代码隐藏文件并刷新,IIS就需要15秒到一分钟才能回收。
有没有办法改善这个?这令人抓狂。
我正在从事网站项目(不是Web应用程序项目),运行Windows 7并在.NET 4框架中工作。我的机器只有几个月的历史,带有SSD,所以我不认为硬件应该成为瓶颈。
另外,我甚至没有在大多数时间实际调试应用程序,尽管运行得更慢。
答案 0 :(得分:3)
修改强>
无论您使用何种类型的IIS,加速操作的最佳方法之一是创建RAM驱动器并将TEMP和特别是 ASP.NET Temporary Files
文件夹指向它。 ASP.NET临时文件包含页面的已编译二进制文件。 ASP.NET在启动时检查此文件夹,并仅重新编译具有更改的页面。将此文件夹放在RAM驱动器上会使启动时间增加几个数量级。该技术在多篇文章中描述,例如。在“Slash your ASP.NET compile/load time without any hard work”
作为额外的奖励,您还可以减少SSD的磨损。
<强>原始强>
适用于网络应用程序
听起来您已将项目设置为使用Visual Studio Development Server或IIS Express而不是计算机本地的IIS服务。发生这种情况时,Dev Server从零开始会有明显的延迟。
这是新网站项目的默认设置。开发服务器很有用,因为它将项目作为随机可用端口上的根虚拟目录启动。缺点是需要花费很长时间才能启动。
通过更改项目以使用本地IIS并在特定虚拟目录下启动,可以显着加快速度。在这种情况下,服务器已经在运行,唯一需要的是应用程序池的回收。应用程序池回收实际上非常快,除非您在aspx页面中嵌入了 lot 代码,否则您可能不会注意到任何延迟,这需要在每次回收时重新编译。
要更改用于调试的服务器类型,请转到Web应用程序的属性&gt; Web 并在Servers
部分中,将选择从Development Server更改为Local IIS。您必须为您的应用程序创建一个虚拟目录,但这可以通过在Project Url
文本框中键入所需的URL并按“创建虚拟目录”按钮来轻松完成。
适用于网站项目
IIS Express / Visual Studio Dev Server与本地IIS实例的影响也适用于Web站点项目。基于文件的网站默认使用dev服务器。更改为本地IIS服务的过程是不同的。值得庆幸的是,它在How to: Specify the Web Server for Web Projects in Visual Studio
中有详细描述答案 1 :(得分:0)
您必须了解网站项目的工作原理。每次更改后,每个文件都会在后台编译成自己的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应用程序项目。