ASP编程:ASP 3.0工具模子提要
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。工具在从编程的角度研讨ASP的细节之前,必需看一下ASP工具模子。这长短常主要的。由于假如你没有在ASP2.0上做过一样的事情,必需思索ASP发生页面的体例。工具情况观点
在版本1.0中,把可以为Web页面增添一些静态内容看成是一个使人冲动的新办法。可使用它从数据库读取数据,或操纵从扫瞄器发来的数值。在ASP2.0中,产生了良多十分引进注视的变更,增添了MicrosoftTransactionServer(MTS),它可以处置多个并发组件实例并供应进一步的扩大才能。这意味着静态Web页事情的全部观点产生了变更。
在此基本上,MTS同意利用散布在多个组件、使用程序和服务中的事件。比方,当经由过程MessageQueueService(之前是MSMQ)向远程盘算机发送动静时,一个ASP页可以更新当地数据库。假设全部事件中的一部分失利,全部处置历程将被恢复到体系本来的形态。
MTS,和组件的利用日趋普遍,招致了利用ASP的Web使用程序的开展,而不再是独自的复杂静态页。在由ASP剧本实例化的组件内,这个ASP页的情况是可用的。情况包括了一切外部的ASP工具(我们很将近碰到的)。因而,可使用它取得用户哀求的信息并创立响应的呼应。
因为这个情况包括了全部ASP的工具模子,因而,它同意程序员对ASP和所利用的各组件所实行的庞大处置举行更多的把持。一般以为工具模子的“根”是哀求、呼应和其他外部工具;而实在情形是(自从ASP2.0以来就已是),这个根是一个称为ObjectContext的工具。
1.援用ASP页面的情况
在ASP1.0中,援用情况的独一体例是经由过程每次入手下手实行ASP页时由ASP激发的事务:OnStartPage。这个事务以一个参数为ASP页供应ObjectContext工具。在一个组件内,可以在一个全局变量中捕捉对ObjectContext的一个援用,以供代码利用。比方,上面这段VB代码把情况存储在一个称为objContext的部分变量中。
从下面的代码中看出,在ASP1.0中,工具的情况是ScriptingContext范例,这是一种在ASP.DLL中界说的工具范例并为创立援用文件ASP.dll的代码所用。但是很分明,把持事件并供应高效的历程外的组件实行(ASP2.0中MTS办理的一个义务),必需接纳分歧的做法。页情况必需是显式可用的,不必在每一个页面的入手下手处保存对它的援用。
因而,在ASP2.0中,微软引进了ObjectContext工具。但是,因为ScriptingContext仍旧经由过程OnStartPage事务起感化,很多组件的创作者思索到程序的向后兼容性,制止利用ObjectContext工具,乃至宁肯以下降功能为价值。如今,因为有了ASP3.0,情形产生了变更。在Windows2000中,MTS做为COM+手艺的一部分被融进操纵体系中,除非明白决意制止它,不然将在缺省形态时被用于在ASP中实例化的任何一个组件。
2.援用ObjectContext工具
从ASP2.0入手下手,已可以经由过程ASP供应的GetObjectContext办法取得一个对以后页面情况的援用。这就意味着不用再经由过程一个页面存储对情况的援用,能够在任何必要的时分失掉它。
这同意我们的工具酿成无形态的(Stateless),换句话说,当完成实行一个特定的办法后,不必要保存对任何数值或工具的援用。假设之前你没有利用过ASP2.0和MTS,这看起来大概是一个有些深邃的观点。但是它是极为主要的,我们将在后续章节会商关于这个成绩的大批细节。
ASP内置的工具
看到了ASP怎样以ObjectContext工具的情势供应一个“根”工具,就能够来懂得其他的内置工具怎样构建在它下面,以供应对客户端哀求、我们所创立的呼应和其他使编写剧本更简单的工具的会见。
本来的ScriptingContext工具仍旧在利用,而且OnStartPage事务也是可用的,但如今已陈腐了,应当只用于在有ASP1.0的IIS3.0上实行的页面,或在必要相对的向后兼容性时利用。
由ASP供应的两个次要内置工具,间接映照会见Web服务器时客户真个两个举动。别的4个供应了附加功效,对编写剧本长短常有效的。每一个工具都供应了一系列的汇合、属性和办法,这在后续章节将加以先容。
Request工具为剧本供应客户端在哀求一个页面或传送一个窗体时供应的一切信息,这包含可以标识扫瞄器和用户的HTTP变量,存储他们的扫瞄器对应于这个域的cookie,和附在URL前面的值(查询字符串或页面中<Form>段中的HTML控件内的值)。它也给我们供应了经由过程SecureSocketLayer(SSL),或其他的加密通讯协定,会见证书的才能并供应有助于办理毗连的属性。
Response工具用来会见所创立的并前往客户真个呼应。它为剧本供应了标识服务器和功能的HTTP变量,发送给扫瞄器的信息内容和任何将在cookie中存储的信息。它也供应了一系列用于创立输入页的办法,如无所不在的Response.Write办法。
Application工具是在为呼应一个ASP页的初次哀求而载进ASPDLL时创立的,它供应了存储空间用来寄存变量和工具的援用,可用于一切的页面,任何会见者都能够翻开它们。
共同的Session工具是在每位会见者从Web站点或Web使用程序中初次哀求一个ASP页时创立的,它将保存到默许的刻日停止(大概由剧本决意中断的刻日)。它与Application工具一样供应一个空间用来寄存变量和工具的援用,但只能供今朝的会见者在会话的性命期中翻开的页面利用。
Server工具供应了一系列的办法和属性,在利用ASP编写剧本时长短常有效的。最经常使用的是Server.CreateObject办法,它同意我们在以后页的情况或会话中在服务器上实例化其他COM工具。另有一些办法可以把字符串翻译成在URL和HTML中利用的准确格局,这经由过程把不法字符转换成准确、正当的等价字符来完成。
ASPError工具是ASP3.0中的一个新的工具,经由过程Server工具的GetLastError办法利用。它供应了产生在ASP中的上一次毛病的具体信息。
能够把这些工具看做是基于ObjectContext工具的一个条理干系的成员,这有助于了解它们与承受和呼应客户哀求的历程之间的干系,如-20所示。图中体现了ASP和创立及服务于ASP页的历程之间的干系。
我们将在后续章节具体研讨每个工具,和利用它们的体例。
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
页:
[1]