仓酷云

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

[学习教程] ASP网页设计怎样把ASP编写成DLL组件

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:58:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.这篇文章次要是把ASP代码酿成组件,开辟者不但是加速了ASP的速率,并且也能回护本人的代码.上面,我们会来编写一个十分复杂的组件,重点是晓得如何开辟DLL组件,而不是其庞大的代码!这些都要靠你们本人今后的勉力了.
服务器端组件
起首,服务器真个组件要有别于客户真个组件.客户真个组件是经由过程收集传输,依托HTML来起感化.并且只能在IE上有效.可是服务器真个组件是运转在服务器端,它在服务器上实行各类操纵.因而,一切的扫瞄器都能享用,它依托的是服务器而不是扫瞄器.
当IIS被哀求实行一个ASP程序,它起首会在ASP文件中找到〈%%>标签之间的代码,而且实行它(也能够是〈scriptrunat=server>〈/script>之间的代码).假如这个ASP程序在先前被挪用过,那末它就会用内存中的编译过的程序来向用户前往HTML代码,假如没有,那末它就从头编译.这里ASP就比CGI多一点速率上风,由于CGI是每个哀求都利用一个线程.如许就年夜年夜损耗了服务器的资本.
想不想你写的程序本人就可以在IIS运转!?!如今你就好了!利用VB5(固然如今是VB6了),你就可以创建DynamicLinkedLibraries(DLL文件),它能在IIS上间接运转(假如有asp文件来哀求的话).
体系和软件的请求
你必要一个32位的操纵体系来运转ASP.固然你也得安装IIS或PWS.我们上面的程序是在windows95+PWS+VB5的情况下开辟的.
我们入手下手吧
启动你的VB,选择ActiveX图标.这个图标能够在新建工程找到!VB会供应一个默许的工程名(project1)和类名(class1).我们会将这两个名字都改失落.在更名之前,请起首确认我们具有MicrosoftActiveServerPagesObjectLibrary,它在我们的程序十分有效.从菜单当选择"工程",然后在个中选择"援用",就会呈现"援用"窗口从当选择MicrosoftActiveServerPagesObjectLibrary.
给工程和类定名
如今我们来依据本人的喜好来为project1和class1来定名吧!给它们定名也是很主要的,我们今后会用这个工程名和类名来创立这个组件的实例!前面具体先容.
怎样更名,我就不想多说了!
我们的工程名改成Exmaple,类名为Helloword
如何利用工程和类
如今我们有了我们本人的工程(Example1)和类名(HelloWorld).今后我们就会在ASP代码中利用它们的名字来援用这个组件.在ASP中我们就如许援用,以下:
SetObjReference=Server.CreateObject("ProjectName.ClassName")
关于我们工程的援用就是:
SetObjReference=Server.CreateObject("Example1.HelloWorld")
如今我们就可以用ObjReference来挪用我们在组件中所创立的函数,子程序.上面我们会来写一个SayHello的子程序,我们实行它的代码以下:
〈%
SetObjReference=Server.CreateObject("Example1.HelloWorld")
ObjReference.SayHello
%>
为了在Helloword类中利用ASP的办法,你必需在此类中写一个OnStartPage
子函数.以下:
PublicSubOnStartPage(PassedscriptingContextAsscriptingContext)
SetMyscriptingContext=PassedscriptingContext
EndSub
如今,不管甚么时分用户会见一个带有本组件的ASP文件,IIS就会把scriptingContext传送给我们的工具请我们利用.这个scriptingContext包含了全体的ASP办法和属性.完成上,这使得我们有才能会见一切ASP的工具.看上面的代码:
PublicSubOnStartPage(PassedscriptingContextAsscriptingContext)
SetMyscriptingContext=PassedscriptingContext
SetMyApplication=MyscriptingContext.Application
SetMyRequest=MyscriptingContext.Request
SetMyResponse=MyscriptingContext.Response
SetMyServer=MyscriptingContext.Server
SetMySession=MyscriptingContext.Session
EndSub
今后我们就可以用在VB顶用MyApplication来取代ASP中的Application,同理能够取代Request,Server.....,不外我们来是要在OnStartPage之前来声名这些变量:
PrivateMyscriptingContextAsscriptingContext
PrivateMyApplicationAsApplication
PrivateMyRequestAsRequest
PrivateMyResponseAsResponse
PrivateMyServerAsServer
PrivateMySessionAsSession
利用ASP的工具
我们的变量如今就可以像尺度的ASP工具来利用了!好比,我们常常在ASP顶用Request.form()来搜集提交表单的数据.如今我们在我们的VB中完成这个功效,代码以下:
用ASP中完成:
〈%
MyTempVariable=Request.Form("userName")
Response.Write("youentered"&MyTempVariable&"asyourusername")
%>
在VB中完成:
MyTempVariable=MyRequest.Form("userName")
MyResponse.Write("youentered"&MyTempVariable&"asyourusername")
经由过程利用MyResponse来取代Response,我们可以利用一切Response的办法,固然,MyResponse这个名字能够任意来取,你乃至能够就取Response.
另外一件我们得注重的是,我们得在我们的创建的类中,写上OnEndPage子函数,这个OnStartPage是相反的!OnStartPage是创立工具,OnEndPage是消毁工具.
PublicSubOnEndPage()
SetMyscriptingContext=Nothing
SetMyApplication=Nothing
SetMyRequest=Nothing
SetMyResponse=Nothing
SetMyServer=Nothing
SetMySession=Nothing
EndSub
SayHello办法
我们来创建一个子函数,用于显现"HolleWorld".这个SayHello办法只是HelloWorld这个类中一个子函数,我们今后会在ASP顶用以下的显现这个办法
〈%
SetObjReference=Server.CreateObject("Example1.HelloWorld")
ObjReference.SayHello
%>
SayHello的程序,很复杂的!
PublicSubSayHello()
MyResponse.Write("HelloWorld")
EndSub
如今一个小型的组件编写完成,剩下的事情就是编译这个组件,在"工程"菜单中保留它,取甚么名字都能够,我们用Exmaple1.vbp吧!然后就用在菜单当选择"makeexmaple1.dll",将其编译成DLL文件.一个组件就真正完成了!
注重,编译了此组件那末你就得先把你的PWS关失落,然后再编译此组件.不然VB就会告知你些组件在利用中.
在ASP中利用我们的本人的组件.
当你改正了在编译中的毛病,乐成地编译了example1这个工程,如今你就得拿出你最喜好的HTML编纂器来写下上面的语句,保留为ASP文件.
〈HTML>
〈HEAD>
〈TITLE>Example1〈/TITLE>
〈/HEAD>
〈BODY>
〈%
SetObjReference=Server.CreateObject("Example1.HelloWorld")
ObjReference.SayHello
%>
〈/BODY>
〈/HTML>
运转后便可看到了局:
HelloWorld
注册组件
假如你想和你的伴侣,邻人分享你的组件,那末你就得在你的体系上注册你的组件.我们一样平常利用Regsvr32.exe来注册组件.注册后你的组件会呈现在Win95/Win98的windows/system目次中.上面是一个注册的例子:
Regsvr32.exeC:/wwwroot/Example1/Example1.dll
在你的体系中,VB会主动给你注册,以是你很罕用到Regsvr32.exe
我们这里只是写了一个十分小的组件,你们能够写好本人的更年夜的组件,并且还能够用VB中的良多控件.
让我们用组件来扩大我们的程序的功效吧!也但愿多多的看到我们中国人的组件.

</p>无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;
因胸联盟 该用户已被删除
沙发
发表于 2015-1-20 06:53:14 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
乐观 该用户已被删除
板凳
发表于 2015-1-21 13:49:22 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
只想知道 该用户已被删除
地板
发表于 2015-1-25 05:56:30 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
不帅 该用户已被删除
5#
发表于 2015-1-25 16:08:07 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
小女巫 该用户已被删除
6#
发表于 2015-1-26 22:32:55 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
山那边是海 该用户已被删除
7#
发表于 2015-2-4 21:03:38 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
小魔女 该用户已被删除
8#
发表于 2015-2-10 10:34:14 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-1 09:00:25 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
再现理想 该用户已被删除
10#
发表于 2015-3-10 13:00:37 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
蒙在股里 该用户已被删除
11#
发表于 2015-3-17 07:27:05 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
莫相离 该用户已被删除
12#
发表于 2015-3-24 02:17:21 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 03:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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