ASP编程:ASP开辟原则
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。使用程序服务器被,或终极将被Web服务器所利用,它一般是运转ASP页面的IIS盘算机。ASP是您的工具的独一客户机。它带来了专门的线程和平安思索。
固然很多利用ASP的Web站点基本就不必组件,但在这篇文章中假定ASP是Internet客户机和组件之间的桥梁。上面的asp/server01242000.asp">ASP组件原则(英文)供应
ASP和组件之间的分别服务
ASP最经常使用于在服务器上创立供客户机利用的HTML或XML文件,因而我们次要会商这类利用计划。这就引出了一个罕见的成绩,假如ASP页面在服务器上,那末它们是不是属于营业层的一部分呢?在组件天下中,谜底一般是不是。固然ASP的确在服务器上运转,并且大概与使用程序服务器在统一个空间,可是这不克不及使它成为营业逻辑的一部分。
跟着用户界面工具的开展大概跟着启用更多的营业对营业计划,具有这类明白的区分将取得伟大的报答。
<Pstyle="TEXT-INDENT:2em">话说到此,让我们来看一些最主要的营业层和暗示层分别原则:
[*]令UI代码与营业逻辑分别。这包含编写与UI耦合的代码,比方利用ASP外部组件的MTS工具,让它与营业逻辑代码分别,好像在分歧的DLL中。
[*]将事件与ASP页面分别。事件ASP在某些情形下十分好,可是组件和多层使用程序会改动这类情形。组件不该该依附由客户机层来办理它们的事件和营业逻辑语义。
[*]将暗示组件(利用哀求和呼应的组件)与Web服务器放在不异的呆板和/或历程中。假如将利用ASP外部组件工具的工具放在远程呆板上,那末对外部组件的一切挪用将以回调情势产生。挪用IIS客户机的是COM+服务器,它明显下降了功能并使平安设置庞大化。能够将这些调剂工具放在标志为“库激活”的COM+使用程序中。
<Pstyle="TEXT-INDENT:2em">ASP存在于服务器上,因而ASP页面必需切合资本共享划定规矩,而且记着可伸缩性。请看上面的具体内容:
[*]在“会话”中,办理应只管制止用户特定的形态。
[*]坚持ASP无形态,并在大概的情形下同意资本池。
操纵体例
在评价某个代码段是不是属于营业逻辑大概暗示层时,叨教一下本人,“假如我必需用按键式德律风使用程序取代我的ASP页面,那末该代码是不是另有用?”假如谜底为“是”,那末能够实验将它分别为营业逻辑代码大概用户界面匡助器代码。
假如改动了客户机后该代码不克不及用,大概假如它是机关用户界面的匡助器,则该代码属于暗示服务层。它在ASP页面中,或在利用ASP外部组件的组件中。它不属于营业工具组件。
了解桌面与ASP客户机的区分
<Pstyle="TEXT-INDENT:2em">ASP是组件的特别客户机,分歧于桌面上的传统单线程Win32使用程序。次要区分归纳综合以下。
[*]线程办理:ASP是多线程客户机。这意味着能够有很多并发举动一同运转,大概在统一时候处置分歧的ASP页面。这申明不克不及使工具伪称它是独一的利用者来独有体系。如许做大概成心外的反响,比方,养成一个坏习气:将工具存储在ASP会话大概使用程序变量中。
[*]平安情况:ASP是由Web站点中的InternetInformationServices5.0实行的,有低、中、高三种断绝度。乃至这些Web站点能够有分歧的平安设置、同意或回绝匿名会见、考证客户等等。一切这些设置发生了大批的计划,即分歧的用户帐户终极用的是您的工具。
[*]轻松增加:这不是手艺成绩,而是Web使用程序所供应举措措施的副效应。传统上,为桌面使用程序增添用户基,请求细心企图好向已知数目客户机的转出。ASP已改动了该历程。在启动和运转后,ASP-VisualBasic使用程序能够便利地翻开,供外地的或天下局限的一切人员、一切营业同伴和一切客户利用。能够用这类体例形貌―具有超链接的单个电子邮件可使用户基成十倍地增加。您的使用程序为此作好筹办了吗?独一懂得的体例是对Web站点举行强度测试,以取得实践功能的预期值。关于强度测试的具体信息,请参阅“使用程序性命周期”一节。
在ASP内应当怎样利用VisualBasic工具?在页面局限内创立和作废您的工具。也就是说,尽量使ASP页面无形态,只在临时形态下依附会话或使用程序变量。不要将工具存储在会话或使用程序变量中。这将ASP线程锁定到您的会话、作废一切可伸缩性的预期值。也就是说,Web服务器处置的用户数不会凌驾几十个。假如必要在会话或使用程序中存储内容,请使之成为数据而不是工具。
另有能够恪守的很多其他原则。我们倡议您浏览MSDNVoices上J.D.Meier撰写的专栏“ServinitUp”。该专栏包含了大批的手艺、理论和技能,有助于开辟可扩大的、牢靠的ASP和组件使用程序。
参考
asp#server">MSDNVoices:ServinitUpColumn(英文)
SeminarOnline:在ASP下利用自界说COM组件(英文)
asp">MSDN杂志(英文)不要将援用存储在会话或使用程序中的VB工具中
一切VisualBasic6.0组件都是“单位线程”的,就是说它们都运转在STA单位中。这意味着假如在线程中创立工具,那末对该工具的一切挪用都必需用统一线程服务。很多线程(来自并发Web站点用户)利用STA工具的统一实例,会引发连续串的举动,有大概成为使用程序中的瓶颈。
别的,在会话局限内存储用Server.CreateObject创立的STA工具,能够无效地将实行线程接洽到以后用户,从而将使用程序的最年夜并发用户数限定到默许的20xN(N=处置器数目)。
操纵体例
假如您依照我们的倡议使工具无形态,则不必要存储援用以供客户机复用,并在使用程序局限内存储它们。客户机将可以自力创立、利用和作废它们本人的工具。这就削减了坚持会话特有工具的必要,缘故原由是它们不保存会话独有的形态。
保举的体例是使工具无形态,它在必要时会见数据库或其他存储区(比方cookies和LDAP)。
假如必要利用会话或使用程序局限的数据,请将数据,而不是处置数据的工具,存储在此。您能够创立一个类,来封装对所需值的处置。
参考
asp">信息:不要在会话或使用程序中存储STA工具(Q243543)(英文)
PRB:将STACOM组件存储在会话中,会将会话锁定在单线程中(Q243815)(英文)
信息:ASP下的组件线程模子提要(Q243544)(英文)
进修IIS5.0中的新内容
<Pstyle="TEXT-INDENT:2em">InternetInformationServer5.0增添了很多新功效。这些改善均已写进J.D.Meier的MSDN文章中:asp/server02282000.asp">相沿IIS5.0中的ASP(英文)。上面是该文中最主要改善的概述。
[*]改善的、杰出的功能
[*]Server.Transfer和Server.Execute办法
[*]会合式毛病处置
[*]改善的扫瞄器功效
[*]改善的剧本引擎
[*]正则表达式剖析器
[*]与ADO纪录集XML功效的集成
[*]新的平安性、缓冲、断绝和办理功效
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 掌握asp的特性而且一定要知道为什么。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
页:
[1]