仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 479|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网站制作之处置ASP哀求的外部会商

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:49:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。哀求|哀求处置ASP哀求



申明了一个典范的ASP哀求的处置流程。该哀求由WAM工具举行初始化处置。该WAM工具再把它发送给ASP-RunTime。ASP-RunTime经由过程创立一个外部页面临象对其举行呼应。

WAM工具是一个自在线程工具。当它挪用诸如ASP.DLL的ISAPI扩大时,它利用由IIS-RunTime保护的线程池所分派的MTA模子的线程。

创立ISAPI扩大时面临的一个辣手的成绩是,怎样处置由这一MTA线程池所带来的线程并发与同步的成绩。ASP-RunTime经由过程在运转ASP剧本前把每一个ASP哀求切换至一个单线程单位(STA),从而使成绩失掉简化。ASP-RunTime办理一个自力的STA帮助线程池(在背景,ASP实践上经由过程利用COM+线程池来完成这一点)。ASP计划师创立了这类线程池计划,以在并发和资本使用之间供应一种优化均衡,同时打消对程序员完成同步的必要。






申明了ASP-RunTime是如何把每一个哀求从MTA线程切换到STA线程的。ASP-RunTime调剂机制把每一个哀求都放到一其中央哀求行列中。由ASP办理的线程池中的STA线程监督该行列并以先辈先出体例处置哀求。注重,这一线程池的巨细是静态变更的。ASP-RunTime在通讯岑岭期会发生分外的线程,而在通讯较少时开释线程。






切换到STA线程无效地办理了并发性成绩,可是如许关于功能也有分明的影响。在一个独自的MTA线程中队每一个哀求举行处置的ISAPI扩大DLL都能供应更快的呼应工夫。

IIS供应了一种办法以对STA线程池和哀求行列的最年夜尺寸举行设置。线程池的巨细由IIS元数据库中AspProcessorThreadMax主键把持。该主键的缺省设置是每历程每处置器25(批评:此数字最好能找到微软的相干文档证实一下。有人说这个数量是10个/CPU)。也就是说,在一台到处理器盘算机中,每一个处置ASP的历程能够最多有100个帮助线程。除非对换整线程池的相干成绩已思索成熟,不然应当制止改动该键值。注重,你不克不及利用InternetServerManager来改动这个设置。必需利用办理剧本大概VB使用来举行修正。

IIS为ASP哀求行列设置了一个最年夜容量。缺省情形下,ASP-RunTime同意行列最多包容3000个哀求(微软的另外一篇文档指出,这个行列只能包容500个哀求)。一旦超越,厥后进进的ASP哀求就会被回绝,前往毛病信息为“ServerTooBusy”。

可使用IIS办理工具和ADSI来编程修正AspProcessorThreadMax主键和AspRequestQueueMax主键。比方,在一个StandardEXE项目中,援用ActiveDS范例库,编写以下代码:

DimMyWebServerAsActiveDS.IADs

SetMyWebServer=GetOject(“IIS://Localhost/W3SVC”)

MyWebServer.Put“AspProcessorThreadMax”,30

MyWebServer.Put“AspRequestQueueMax”,1500

MyWebServer.SetInfo



上面复杂总结一下在单处置器盘算机上以缺省体例安装的IIS中,ASP线程池是怎样事情的。该线程池关于每一个处置器有25个STA帮助线程可用。当一个哀求抵达时,就被放到哀求行列中,ASP-RunTime从线程池中调剂一个余暇STA线程,假如存在一个可用的话(注重,这类计划同意线程池中的任何线程都能够对哀求举行处置)。假如没有余暇的帮助线程,哀求就到场行列。只需行列没有到达缺省最年夜容量,一切哀求都将失掉处置。

来自TedPattison的《ProgrammingDistributedApplicationwithVisualBasic6.0》
</p>ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。
再见西城 该用户已被删除
沙发
发表于 2015-1-19 10:01:50 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
海妖 该用户已被删除
板凳
发表于 2015-1-24 12:02:49 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
再现理想 该用户已被删除
地板
发表于 2015-2-1 09:54:18 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
若天明 该用户已被删除
5#
发表于 2015-2-7 02:23:56 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
分手快乐 该用户已被删除
6#
发表于 2015-2-19 21:00:53 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
蒙在股里 该用户已被删除
7#
发表于 2015-3-13 03:09:53 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-20 11:12:24 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表