ASP网页编程之构建不乱的服务器端组件的七个步骤(载自...
结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。服务器|微软完成强健功能的划定规矩HankMarquis
来自于EnterpriseSolutionsforMicrosoftBackOfficeandWindowsNTMagazine
原稿地点:http://www.microsoft.com/china/technet/intranet/sevstep.asp
在你的服务器上安装了微软IIS(InternetInformationServer),你就能够发扬ASP(ActiveServerPages)的上风了,ASP使用ActiveX组件来为你的收集使用完成一切品种的事情。只管你能够在HTML和有ASP页面的IIS内里利用很多ActiveX组件,服务器端组件也不是运转在一台服务器上的一般组件。它在运转时不会告知你同必要出格照顾的产物服务器有关的任何信息。你将没法做任何事变往改动其对服务器功能、平安和不乱性的影响。对服务器真个组件的不得当选择大概会招致一些成绩,包含速率的分明下落,平安毛病大概别的更卑劣的成绩。
客户真个组件在用户盘算机上实行。客户端组件包含尽年夜多半我们如今已懂得的一些盛行组件:标签控件,文本框,命令按钮,格子等。这些组件能够经由过程<OBJECT>标签和(或)HTML工具语法来包括在客户端HTML代码中。
多半的有效的客户端组件会供应特定品种的用户界面。记着,利用客户端组件就意味着实在组件已被传到客户盘算机上。平常的做法就是把组件下载到客户盘算机上。固然,用户不能不守候下载历程,并且客户盘算机必需被设置为同意下载。
与此构成对照的是,服务器真个组件在服务器盘算机上实行。服务器端组件也为用户做一些事情,但倒是在服务器上运转的。你必需熟悉到这个差别而且响应地体例代码。服务器端组件为你的全部使用程序封装了一些逻辑或功效。
当一个用户利用使用程序时,他将不会真正看到服务器真个组件。这些组件年夜多半都能够经由过程必要利用组件的ASP剧本中的<OBJECT>标识来被包括。你一样能够经由过程服务器的CreateObject语法来包括服务器真个组件。
制作强健的组件
用于创立强健组件的好质料其实不多。可是,我在这里向人人保举七个关头步骤,它能够匡助你创立不乱和平安的服务器端组件,能够很文雅地缩放而且保持功能。在创立一个服务器端收集使用时,你必要留心定,平安和功能放在你心目中的主要地位。
服务器端组件不该该具有GUI(图形用户界面)。由于服务器端组件是在服务器上运转,收集使用的用户是看不到大概弹出的任何对话的。你的组件必要可以同剧本和别的组件举行交换,却无需同用户交换。制止一切的动静框和别的任何图形的用户界面单位。你必需开辟使用前往了局来同形态和别的模块信息举行交换的代码。假如甚么器材出成绩,不要抛出一个毛病动静大概利用一个动静框,能够前往一个形态变量。你必要做的最初一件事是锁定劳碌服务器守候OK按钮被按下。
服务器端组件不得被传送援用大概传送援用给工具。广泛的做法是把把持作为一个参数传送给别的历程或组件。这包含别的工具的援用,好比RecordSets。只管云云,向收集中的组件传送援用大概招致速率分明下落,使一个忙碌的服务器加倍迟缓,收集使用程序在呼应用户需求时也体现得更慢。
服务器端组件应当尽量地少含办法和属性。每个办法或属性的挪用都必要大批处置。因而,一个编写的好的服务器端组件应当几近不含分明的办法和属性。组件含有的那些办法和属性会带来更多的参数。具有良多参数的挪用越少,功能就越好,特别是你的收集使用程序必要撑持很多用户时。这个技能和很多开辟职员的履历是相反的。只管少的利用带有很多参数的挪用也会带来别的一些成绩,这使得编码和调试加倍坚苦,可是速率上的改善是与支付的勉力相称的。
服务器端组件必需完成得当的线程模子。使用单线程组件大概招致服务器限定一个线程的会话,这将带来速率的分明下落。应当选择VB的房间模子线程选项而且勉力制止单线程组件。可是,VB不克不及创立你能够在VisualC++里发明的具有线程选择局限的组件,。这一点也标明VB不是一种很符合这项事情的开辟言语。
服务器端组件应当利用初期绑定。假如你的服务器使用程序要扩容,这显得出格主要。初期绑定的工具在编译时就具有援用剖析,能够节俭很多实行工夫。
服务器端组件不克不及利用在使用程序或会话感化域的声明中。请注重你的控件是怎样被限制感化域的。感化域形貌了怎样创立一个组件的实例,这对你的服务端组件的乐成起着关头感化。正如上月所会商的那样,存在三种级其余感化域:页面级,会话级和使用程序级。页面级感化域工具能够用页面自己的HTML和ASP剧本代码来创立。页面级感化域组件的最好功能能够经由过程利用房间线程来失掉。而对使用程序级和会话级感化域组件来讲,能够经由过程利用ATL组件的双线程模子来失掉。同感化域分离的线程模子也影响服务器的平安功能。比方,一个使用使用程序级感化域的房间线程组件在体系平安情况里运转,但并非以后用户的平安情况。这对那些具有平安认识的人来讲多是一个成绩。
为了速率,服务器端组件应当是历程中组件;为了不乱,则应当是历程外组件。有两种体例往创立COM(OLE)服务器--历程中和历程外。在VB里,你用EXE或DLL扩大名往编译服务器。具有DLL扩大名的OLE服务器就被称为历程中服务器;而具有EXE扩大名的被叫做历程外服务器。历程外意味着组件作为一个自力的历程在运转,并且与挪用它的使用程序不共享地点空间。运转历程外组件会招致功能的下降,由于Windows不能不在两个或多个使用程序之间往返挪动数据。历程中意味着组件在挪用它的使用程序的地点空间里运转。在历程之间交换无需两头物,这使功能明显进步。历程中组件的负面是假如组件失利,那挪用它的使用程序也会失利。
服务器端组件使得创立一流的办理计划成为大概。使用IIS,大概还得用上MTS,你能够基于WindowsNT的强无力的处置才能创立高功能的可晋级的收集使用程序。
HankMarquis是古代软件(ModernSoftware)的开创人,能够经由过程hankm@modernsoftware.com来接洽他。本文初次宣布于BackOfficeCTO杂志。
我们微软公司但愿这篇文章的信息对你有效。可是,利用这些信息是你本人乐意承当的风险。这里一切的信息都以"仿佛是"的体例供应,对信息的正确性、完全性、针对某种特定目标的合用性、有害性没有任何分明的大概表示的包管,文章中提到的一切第三方产物或信息都不是被微软公司受权,保举,撑持和供应包管的。微软公司你利用这些信息而大概承受的不管是间接、直接、特别的、偶尔的大概有因果干系的丧失不负任何义务,即便这类丧失的大概性被细心思索过。文中提到的一切产物的代价都能够在不另做关照的情形下改动。
</p>asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 那么,ASP.Net有哪些改进呢? 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]