当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET超凡的代码控制(二)

ASP.NET
赫赫大名的A*寻路算法(vb.net版本)
asp.net(c#)下Jmai去说明 使用与下载
[原创]完美解决Could not load file or assembly ''AjaxPro.2'' or one of its dependencies. 拒绝访问。
asp.net下gridview 批量删除的实现方法
用CSS实现图片倾斜 只支持IE
.net get set用法小结
vs 不显示行号的操作方法
ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
ASP.Net不执行问题一解
asp.net 无限分类
让VS2008对JQuery语法的智能感知更完美一点
扩展方法ToJSON() and ParseJSON()
asp.net下PageMethods使用技巧
Linq to SQL Delete时遇到问题的解决方法
实现ASP.NET多文件上传程序代码
ASP.NET AJAX 1.0 RC开发10分钟图解
asp.net get set用法
ASP.NET下使用WScript.Shell执行命令
asp.net2.0实现邮件发送(测试成功)
Asp.net 无限级分类实例代码

ASP.NET超凡的代码控制(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 35 ::
收藏到网摘: n/a

crystal译·yesky


  优化和缓冲存储. 这是怎样办到的呢?

  根据脚本的首次请求, 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 的例行程序,能够做出标准的表单处理,以及代你处理大量的相对简单的日常工作。读代码也成为可能,
如此就意味着即使某段程序在六个月后出现了问题,也可以发现你以前的设定,并及时进行调试。