仓酷云 发表于 2015-1-16 22:57:57

ASP网站制作之关于用COM封装ASP代码的文章,倡议到场...

asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!封装|精髓ActiveX是微软提出的普遍使用于Windows系列的一种代码封装手艺,进步了程序代码的可重用性,加速了程序项目标开辟速率,一样平常被称为“组件”。在VB6的集成开辟情况傍边,我们能够看到一下几种ActiveX项目:

  1、ActiveXEXE

  这是在“历程外”运转的ActiveX/COM服务器组件,也就是说他们运转的历程和初始化组件的客户机代码分歧。只管能够用ASP会见ActiveXEXE,可是不保举修改IIS元库,该库同意一切的可实行文件由服务器上运转的剧本代码启动。

  2、ActiveXOCXs

  这些特别的组件把主机使用程序显现和操纵组件所需的附加撑持包括在GUI情况中。还能够把OCX组件放在网页傍边。可是,OCX是使用程序界面,不成以利用ASP来创立的。

  3、ActiveX文档DLL和ActiveX文档EXE

  Active文档能够在OLE文件箱使用程序中,比方IE大概OfficeBinder,显现VB表单。但他们在ASP不克不及使用。

  4、ActiveXDLLs

  这些ActiveX/COM组件和初始化组件的客户机在统一个历程中运转。而我们要会商的ActiveXDLL恰是全部组件。一样平常微软的附加组件和其他的一些第三方厂家供应的各类组件都是这类范例的ActiveXDLL,可是其实不满是利用VB编写的,一样可使用VC/JAVA等等言语来开辟。

  切磋完了甚么是ActiveXDLL,我们入手下手正式编写我们本人的ActiveXDLL,以便来完成ASP中的一样功效,尽人皆知,ASP内置了Response、Request、Server、Session、Application五个工具,实在这五个内置工具恰是IIS把持台初始化的五个ActiveXDLL组件,既然IIS能够初始化这五个组件用于ASP中,我们固然也能够间接在我们的ActiveXDLL中援用这些组件来完成我们的编程,也就是说我们能够在VB使用程序中经由过程援用这些组件来完成会见ASP内置工具的功效。

  只需你安装了PWS4大概IIS4以上的WEB服务器,你就具有了一个称号叫做“MicrosoftActiveServerPagesObject”的工具库,我们能够在VB的ActiveXDLL使用中援用这个工具库,经由过程援用这个工具库,我们就取得了一个工具(类):ScriptingContext,这个工具也恰是我们全部文章切磋的中心工具。工具库内的干系以下:

  工具库      类        类成员

  ASPTypeLibraryScriptingContextApplication

                    Request

                    Response

                    Session

                    Server

  经由过程下面的干系图,我们就能够很简单了解类ScriptingContent。上面我们来看一个详细的例子吧:

  1、利用VB6创立一个新的ActiveXDLL项目

  2、援用“MicrosoftActiveServerPagesObject”工具库。

  3、创立两个组件事务:OnStartPage和OnEndPage

  4、在事务OnStartPage中创立类ScriptingContent的一个援用。

  5、实例化类ScriptingContent。

  Test.cls(类完成)

  工具的声明

  DimrpasResponse

  DimrqasRequest

  DimapasApplication

  DimsrasServer

  DimsnasSession

  当组件被创立的时分会触发这个事务

  PublicSubOnStartPage(myscasScriptingContent)

  举行工具的实例化

  setrp=mysc.Response

  setrq=mysc.Request

  setsr=mysc.Server

  setap=mysc.Application

  setsn=mysc.Session

  rp.write"<br>ActiveXDLL组件已被创立了!<br>"

  EndSub

  当组件被烧毁的时分触发这个事务

  PublicSubOnEndPage()

  Rp.write"<br>ActiveXDLL组件已被烧毁!<br>"

  烧毁工具

  Setrp=nothing

  Setrq=nothing

  Setsr=nothing

  Setap=nothing

  Setsn=nothing

  EndSub

  界说我们本人的一个组件办法

  PublicSubHelloWorld()

  Rp.write"<H1>Hello,World!</H1>"

  EndSub

  如许,我们就创立能够会见ASP内置工具的ActiveXDLL了。我们定名这个组件项目为first,在VB两头编译这项目成为一个DLL文件first.dll,而且我们在体系中注册这个DLL文件。接上去,我们必要一个复杂的几近没有甚么代码的ASP程序来挪用这个组件:

  test.asp

  <html>

  <head>

    <title>测试ActiveXDLL</title>

  </head>

  <body>

  <%

  Dimtestme

  创立我们方才编译乐成的组件,一旦创立这个组件,同时会在叶面输入笔墨“ActiveXDLL组件已被

  创立了!”

  settestme=server.createobject("first.test")

  挪用组件的办法

  testme.HelloWorld

  刊出组件,在刊出的同时,会主动在叶面显现“ActiveXDLL组件已被烧毁!”

  settestme=nothing

  %>

  </body>

  </html>

  经由过程下面复杂的例子,我们能够看到利用ActiveXDLL一样能够完成和ASP一样的功效,而且带来的代码保密和程序运转加倍高效的长处。ActiveXDLL和纯ASP有着各自的长处和弱点,只需我们公道的使用这两种手艺,好比得当的将贸易逻辑封装在ActiveXDLL中,大概在必要保密的中央利用DLL封装手艺,必定能够编写出高效疾速的WEB使用程序。

  (以上程序在VB6企业版、Windows2000Server中文版测试经由过程)


</p>由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;

爱飞 发表于 2015-1-20 06:48:05

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

海妖 发表于 2015-1-25 18:06:28

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

仓酷云 发表于 2015-1-31 06:50:18

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

飘飘悠悠 发表于 2015-1-31 16:12:29

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

若天明 发表于 2015-2-6 20:34:27

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

若相依 发表于 2015-2-18 15:22:59

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。

因胸联盟 发表于 2015-3-6 08:22:38

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

愤怒的大鸟 发表于 2015-3-12 22:28:57

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

冷月葬花魂 发表于 2015-3-20 04:23:16

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
页: [1]
查看完整版本: ASP网站制作之关于用COM封装ASP代码的文章,倡议到场...