Asp.net .aspx文件必须有页面指令吗?

Asp.net .aspx文件必须有页面指令吗?,asp.net,performance,Asp.net,Performance,我们网站中大约90%的页面没有嵌入.Net代码,但都以.aspx文件的形式发布。我希望这些尽可能快地渲染,以便尽可能多地移除 .Net页面指令对性能有影响吗?我在考虑两个因素;每次GET的页面速度以及文件更改时发生的情况。CMS系统每天都会重新创建每个页面,我想知道这是否会触发ASP.Net编译过程。不需要指令。没有它,将假定语言和其他内容的默认值 通过更改.aspx文件: 对动态编译文件的任何更改都将自动使文件的缓存编译程序集无效,并触发所有受影响资源的重新编译。下次对代码发出请求时,ASP.

我们网站中大约90%的页面没有嵌入.Net代码,但都以.aspx文件的形式发布。我希望这些尽可能快地渲染,以便尽可能多地移除

.Net页面指令对性能有影响吗?我在考虑两个因素;每次GET的页面速度以及文件更改时发生的情况。CMS系统每天都会重新创建每个页面,我想知道这是否会触发ASP.Net编译过程。

不需要
指令。没有它,将假定
语言
和其他内容的默认值

通过更改
.aspx
文件:

对动态编译文件的任何更改都将自动使文件的缓存编译程序集无效,并触发所有受影响资源的重新编译。下次对代码发出请求时,ASP.NET会识别代码已更改,并重新编译Web应用程序受影响的资源。此系统使您能够以最小的编译处理开销快速开发应用程序。(请注意,根据对资源的更改,结果可能从重新编译单个页面到重新编译整个网站。)


好的,把它们放进去——只是为了确定一下

.NET页面均已编译,无论是否为页面指令。没有什么变化。在编译后,它们会以最快的速度转换为一个只执行一次的类(类型加载一次)


请注意,Mehrdad Afshari的文章实际上是错误的(遗憾的是,我不能给它贴标签)。任何页面更改都会触发appdomain的完全重新编译和重新启动。事实上,任何文件更改都是这样做的,只要它在AppLoad外部,ASP.NET可以看到它(即目录/文件上的非隐藏标志)。

< P>如果您的网页没有.NET代码和渲染速度是您的目标,您可能希望考虑将扩展更改为.html。任何.aspx页面都将由IIS传递到.NET ISAPI筛选器,并遍历整个HttpModule链,然后由页面HttpHandler处理。使用.html扩展名将触发IIS使用静态资源ISAPI筛选器处理请求,该筛选器具有更短的管道,并针对不运行代码的资源进行了优化