Asp.net 预编译可更新的web应用程序项目集的性能优势?

Asp.net 预编译可更新的web应用程序项目集的性能优势?,asp.net,msbuild,web-application-project,web-deployment-project,precompile,Asp.net,Msbuild,Web Application Project,Web Deployment Project,Precompile,如果asp.net web应用程序设置为可更新,那么预编译该应用程序是否有性能优势?通过设置pre-compiler updateable标志,它不会预编译aspx、ascx等。因此,在第一次页面加载时,仍然必须在运行时编译这些文件。不过,ASP.NET Web应用程序项目中的所有其他内容都已经编译好了,那么,在WAP上运行可更新标志设置为true的预编译程序有什么意义呢?唯一的性能优势是,它可以预编译ASPX和ASCX文件的相关代码隐藏文件。ASP.NET旨在比其他基于脚本的技术(包括经典AS

如果asp.net web应用程序设置为可更新,那么预编译该应用程序是否有性能优势?通过设置pre-compiler updateable标志,它不会预编译aspx、ascx等。因此,在第一次页面加载时,仍然必须在运行时编译这些文件。不过,ASP.NET Web应用程序项目中的所有其他内容都已经编译好了,那么,在WAP上运行可更新标志设置为true的预编译程序有什么意义呢?

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

ASP.NET旨在比其他基于脚本的技术(包括经典ASP)获得性能优势通过将服务器端代码编译为web服务器上的一个或多个DLL文件。[18]此编译在第一次请求页面时自动进行(这意味着开发人员无需对页面执行单独的编译步骤)。此功能使脚本语言易于开发,并具有编译二进制文件的性能优势。但是,当从web服务器首次请求新编辑的页面时,编译可能会对web用户造成明显但短暂的延迟,但不会再次延迟,除非进一步更新请求的页面

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

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


(直接取自维基百科页面)这是一个很好的解释,说明了在php或ASP类脚本代码之上编译代码的好处。

从我在这个特定案例中可以看出,由于问题中列出的原因,当WAP设置为可更新时,预编译WAP不会带来性能上的好处。

当使用Web应用程序项目时,代码隐藏文件是已经预先编译过了。