仓酷云

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

[学习教程] ASP编程:用VB编写ActiveX DLL完成ASP编程

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:30:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。ASP是今朝一种广为使用的用来疾速构建静态WEB站点的编程言语,默许的内置开辟言语是VBScript,因为ASP和微软Windows系列操纵体系的分离十分的好,使得ASP已成了NT开辟平台下面举行WEB开辟的首选言语和情况。他有着复杂易学,便利疾速开辟的各种长处,可是他也有着致命的缺点,就是他是剧本言语注释实行的,速率会遭到必定的影响,更加关头的是,利用ASP来开辟完成一个项目以后,全部项目在托付客户利用的时分,是会连带一切的ASP剧本源代码的,也就没法将贸易程序保密了,源代码泄露会给本人形成很年夜的丧失,固然微软也响应的推出了用来加密ASP程序的软件,可是有着诸多的限定,和会下降程序运转的速率和二次开辟调试的难度,岂非ASP做出来的项目就真的要表露一切的源代码吗?

  固然了,谜底固然是不是定的,由于天下上没有相对不成能的事变,接上去就跟从我来看看怎样使用VB的ActiveXDLL来完成将ASP程序封装起来吧,也就是我们可使用ActiveXDLL来完成一切ASP能完成的事变,而ActiveXDLL是编译好的DLL文件,他人是没法得知你的源代码的,也就包管的本人的贸易秘密和中心手艺,而且到达一样的效果,利用完整封装的ActiveXDLL会比完整合用ASP剧本言语的实行速率要快良多,特别是年夜运算量的时分跟为分明!经由我们的详细测试,在利用10000条数据库纪录的时分,封装成为ActiveXDLL的WEB使用程序比纯ASP代码的使用程序,速率下面要快约莫21%摆布,在今朝国际过于迟缓的收集来说,速率就是一个WEB站点的很关头的一部分。而且接纳了ActiveXDLL来开辟WEB程序,要比纯真利用ASP好很多,究竟ASP只能利用VBScript来开辟,没法享用VB大批的长处,而ActiveXDLL则能够充实使用VB内里一切的特征。

  上面我们先来看看甚么是ActiveXDLL吧。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使用程序。
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-19 15:51:14 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
小妖女 该用户已被删除
板凳
发表于 2015-1-25 07:43:09 来自手机 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
若天明 该用户已被删除
地板
发表于 2015-2-2 16:38:04 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
不帅 该用户已被删除
5#
发表于 2015-2-8 01:46:25 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
透明 该用户已被删除
6#
发表于 2015-2-24 00:09:26 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
分手快乐 该用户已被删除
7#
发表于 2015-3-7 10:26:32 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
admin 该用户已被删除
8#
发表于 2015-3-14 22:37:38 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
海妖 该用户已被删除
9#
发表于 2015-3-21 14:42:29 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 10:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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