3

如果设置为可更新,预编译asp.net Web应用程序是否有任何性能优势?通过设置预编译器可更新标志,它不会预编译aspx,ascx等,因此仍然必须在首次加载时在运行时进行编译。尽管如此,ASP.NET Web应用程序项目中的其他任何内容都已经编译好了,那么在可执行文件的可更新标志设置为true的情况下在WAP上运行预编译程序有什么意义?预编译Web应用程序项目的性能优势是否可更新?

回答

0

从我可以告诉在这种特定情况下,由于问题中列出的原因,将WAP设置为可更新时,预编译WAP时没有性能优势。

1

唯一的性能优势是它为您的ASPX和ASCX文件预编译相关的代码隐藏文件。

+0

使用Web Application Projects时,代码隐藏文件已经预编译。 http://msdn.microsoft.com/en-us/library/aa983464.aspx – EricAppel 2009-11-05 21:28:12

0

通过将服务器端代码编译为Web服务器上的一个或多个DLL文件,ASP.NET的目标是通过将其他基于脚本的技术(包括经典ASP)进行性能优势。该编译在第一次请求页面时自动发生(这意味着开发人员不需要为页面执行单独的编译步骤)。此功能提供了脚本语言提供的开发简便性以及已编译二进制文件的性能优势。但是,当首次向Web服务器请求新编辑的页面时,编译可能会对Web用户造成明显但短暂的延迟,但除非所请求的页面进一步更新,否则不会再次发生。

将ASPX和其他资源文件放置在Internet Information Services服务器(或其他兼容的ASP.NET服务器;请参阅下面的其他实现)上的虚拟主机中。客户端第一次请求页面时,.NET框架将文件解析并编译为.NET程序集并发送响应;随后的请求由DLL文件提供。默认情况下,ASP.NET会在首次请求时以1000个文件批量编译整个站点。如果编译延迟导致问题,则可以调整批量大小或编译策略。

开发人员还可以选择在部署之前预编译其代码,从而不需要在生产环境中进行即时编译。这也消除了在Web服务器上拥有源代码的需要。

(直接从维基百科页面中获取)将代码编译为脚本代码(例如php或class ASP)的好处的一个很好的解释。

相关问题