ASP.NET超凡的代码控制(二)
文章类别:
asp | 发表日期:2008-10-5 20:17:40
优化和缓冲存储. 这是怎样办到的呢?
根据脚本的首次请求, runtime将代码进行编译,并将编译结果进行高速缓冲存储复制(备份). 不论何时,只要脚本有请求,被存储的副本都可以调出使用. 此结果大大的增强了系统性能, 因为在首次请求之后,代码能更快的从编译版本中运行.
有人也许就会问了”它怎么知道我什么时候作了改动?” 微软已对此作出解答.Runtime通过文件系统来监视源文件. 当初始源文件发生改变时,它自动将编译版本从高速缓冲存储备份中拖出,因此当下一个要求来临时,它(编译文件)会被重新编译.这就意味着系统会自动编译代码, 程序员就再也用不着为人工编译而头疼了.
caching
对于多数的系统开发者而言,他们必须研制出一些“caching”来使系统速度加快。无论是ASP页面输出到HTML文件格式,网络联结速度都非常慢。或是从缓慢的internet链接引用,到recordset的 状态和漫游表单上的email表示符,甚至一个数据库动态驱动菜单,实际上不是完全的动态驱动,你不能为你每个客户请求而浪费大量时间。在创建网站时,一般来说,少量数据不会持续改变,但是正因为它们不是真正意义上的动态,不意味着使代码复杂化,那么它们在哪儿呢?所以,你得开发一些caching
基本的 caching 活动是首先甄选适当的数据进行存储。然后你需要将它们放置在程序中的application级变量中。然后,识别代码。然后,你就得决定得将数据存储多久,并写出程序,以便及时清空caching.但是,如果你清空了caching的话,那么所使用的程序得具有使数据重新恢复的功能。
在ASP.NET中建立了CACHING系统。使得使得整个系统比以前更为面向对象,使得 caching系统也可以存储 对象 。因此,无论何时caching,也可以随时调用。你可以根据需要设置数据存储的时间来决定创建各种类型的环境。 通过文件系统,你甚至可以在文件上链接一个详细的项目,这样当文件发生改变时,链接的项目就会同时被存储。
还不仅限于此,ASP.NET也存储输出数据。 为ASP。NET脚本结果做一个备份,因此当别人调用它时,他甚至不用运行,正确的输出结果就已在发送中。它主要基于查询字符串来工作,如果参数不能与存储中的参数相匹配,则记载参数的页面会回转到存储版本中
一些时候,依据站点来判断出什么需被存储是有一点技巧,但是至少现在不需要。
更快更简便的开发
任何开发平台都会向你提供一个固态的环境. 在ASP里,虽然这个环境的性能是优良的,但实际上它亳无用处.但是通过ASP.NET,在你书写你的第一行代码前,这个环已为您做足了准备工作。以前程序员为了设计完善的程序,而不得不做的重复的烦人的工作,现在这个环境已为你做完了.
面向对象模型
当你的代码比以前任何时候都要运行得更快的时候,你已经得到一个真正的事件模型并可以对它进行控制。在过去,如果你希望某程序运行的早一些,你就不得不将程序放在页面的前面,相反,则放在页面的后部。这种方法往往不会起到很大的作用,所以你还得通过各种方法来构建你的代码以获得想要的效果. 这个“spaghett-code”问题能够通过使用大量的事件来修正,例如 page_load
每个页面级的对象都会有它们自己的事件模型,并且有能够激活设计好的Server事件。类似于 Button_Click 或 Listbox_Change 的例行程序,能够做出标准的表单处理,以及代你处理大量的相对简单的日常工作。读代码也成为可能,如此就意味着即使某段程序在六个月后出现了问题,也可以发现你以前的设定,并及时进行调试。