2010-03-08 45 views
2

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

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

回答

3

<%@ Page %>指令不是必需的。没有它,将假定Language和其他东西的默认值。

通过改变.aspx文件,it'll be recompiled (it doesn't recompile the whole app though)

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

0

好,把他们在 - 只是要确定。

.NET页面是全部编译的页面指令或不是。没有什么变化。在编译后,它们变得非常快,因为它们变成了一个刚刚执行的类(一次加载类型)。

请注意,Mehrdad Afshari的帖子实际上是错误的(可惜我不能标记它)。任何页面更改都会触发完整的重新编译并重新启动appdomain。实际上任何文件更改都是这样,只要它位于App_Data之外并且ASP.NET可以看到它(即目录/文件中的非隐藏标志)。

4

如果您的网页没有.NET代码,并且渲染速度是您的目标,那么您不妨考虑将扩展名更改为.html。任何.aspx页面将通过IIS传递给.NET ISAPI筛选器,并遍历整个HttpModules链,然后由页面HttpHandler处理。使用.html扩展名将触发IIS使用静态资源ISAPI筛选器处理请求,该筛选器具有更短的管道,并针对不运行代码的资源进行调整。

相关问题