萌萌妈妈 发表于 2015-1-16 22:58:18

ASP编程:构建不乱的服务器端组件的七个步骤

ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;服务器在你的服务器上安装了微软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的强无力的处置才能创立高功能的可晋级的收集使用程序。
</p>asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。

金色的骷髅 发表于 2015-1-20 06:52:10

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

谁可相欹 发表于 2015-1-23 18:27:34

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

小魔女 发表于 2015-1-31 19:02:05

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

简单生活 发表于 2015-2-6 21:03:46

那么,ASP.Net有哪些改进呢?

若天明 发表于 2015-2-18 18:57:16

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

乐观 发表于 2015-3-6 09:11:16

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

变相怪杰 发表于 2015-3-12 23:06:05

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

海妖 发表于 2015-3-20 05:13:07

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
页: [1]
查看完整版本: ASP编程:构建不乱的服务器端组件的七个步骤