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

ASP.NET
C# Quoted-Printable编码、解码
asp.net Google的translate工具翻译 API
.NET读取所有目录下文件正则匹配文本电子邮件
asp.net 半角全角转化工具
AjaxControlToolKit 显示浏览者本地语言的方法
asp.net HTML文件上传标签
ASP.NET 绑定DataSet中的多个表
ASP.NET 重定向的几种方法小结
Asp.Net 重定向必须要知道的一些资料
ASP.NET 导出到Excel时保留换行的代码
Asp.Net Cache缓存使用代码
document.getElementsByName和document.getElementById 在IE与FF中不同实现
GridView单元格合并
asp.net 大文件上传控件
asp.net 日期函数 某月的第一天和最后一天的日期
asp.net 时间类 一周的周一和周末的日期
C# javaScript函数的相互调用
asp.net membership 密码重设
"虚拟路径"..."映射到另一个应用程序,这是不允许的!
如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 184 ::
收藏到网摘: 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 的例行程序,能够做出标准的表单处理,以及代你处理大量的相对简单的日常工作。读代码也成为可能,
如此就意味着即使某段程序在六个月后出现了问题,也可以发现你以前的设定,并及时进行调试。