我似乎花了将近一半的时间在.NET上徘徊,等待IIS旋转,而不是实际开发。
这很简单:每当我有机会查看代码隐藏文件并刷新时,IIS回收所需的时间从15秒到超过一分钟不等。
有什么办法可以改善这种情况吗?真让人抓狂。
我正在从事网站项目(不是web应用程序项目)、运行Windows7并在.NET 4框架中工作。我的机器只有几个月的历史,有一个SSD,所以我不认为硬件应该是瓶颈。
而且,我大部分时间甚至都没有实际调试应用程序,尽管运行得更慢。
发布于 2013-08-07 20:11:19
编辑
无论您使用何种类型的IIS,加快速度的最好方法之一是创建一个RAM驱动器,并将您的临时目录,特别是ASP.NET Temporary Files文件夹指向它。ASP.NET临时文件包含已编译的页面二进制文件。ASP.NET在该文件夹启动时检查它,并且只重新编译有更改的页。将此文件夹放入RAM驱动器将使启动时间增加数量级。这项技术在多篇文章中作了描述,例如。在"减少ASP.NET编译/加载时间而不需要任何艰苦的工作“
作为额外的奖励,你也将减少你的SSD的磨损。
原始
用于网络应用程序的
听起来,您已经将项目设置为使用或IIS,而不是计算机本地的IIS服务。当发生这种情况时,当Dev从零开始时,会有很大的延迟。
这是新web项目的默认设置。Development非常有用,因为它在随机可用端口上将项目作为根虚拟目录启动。缺点是,这需要一段令人讨厌的长时间才能开始。
通过将项目更改为使用本地IIS并在特定的虚拟目录下启动,可以显著加快速度。在这种情况下,服务器已经在运行,唯一需要的就是回收应用程序池。应用程序池回收实际上非常快,除非您在aspx页面中嵌入了大量代码,否则您可能不会注意到任何延迟,这需要在每个循环上重新编译。
若要更改用于调试的服务器类型,请转到web应用程序的“属性”>“网站”,并在“Servers”部分中,将选择的内容从“开发服务器”更改为“本地IIS”。您必须为您的应用程序创建一个虚拟目录,但这可以通过在Project Url文本框中键入所需的URL并按下“”按钮来实现。
用于网站项目
IIS Express/对本地IIS实例的影响也适用于网站项目。默认情况下,基于文件的网站使用开发服务器。更改为本地IIS服务的过程不同。谢天谢地,它在如何:在Visual中为Web项目指定Web服务器上有详细的描述
发布于 2013-08-07 20:13:06
您必须了解网站项目是如何工作的。每个文件在每次更改后,在幕后编译成自己的DLL。这是无法改变的。
现在,需要多长时间取决于您的代码。你可以做一些事情来提高速度。您可以清除ASP.NET临时文件文件夹中的\Windows\Microsoft.NET,并且可以删除任何不使用的引用或不使用的任何使用语句。这将减少编译时间。
网站项目实际上并没有得到很好的支持,而且有许多缺点。唯一真正的优势是动态编译,正如您所发现的那样,这并不是很大的好处。
您可能想阅读这篇文章:
http://msdn.microsoft.com/en-us/library/dd547590.aspx
对于新的开发,我们建议您选择web应用程序项目。本主题解释了网站项目有一些优点,但是许多选择网站项目的开发人员最终发现这些缺点比任何感知到的优势都要大。此外,随着新的ASP.NET特性的开发,它们不会总是提供给网站项目。例如,Visual 2012之后的下一个Visual发行版将拥有用于创建web项目的新工具,并且这个新工具将仅适用于web应用程序项目。
https://stackoverflow.com/questions/18112658
复制相似问题