仓酷云

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

[学习教程] ASP编程:在ASP文件中挪用DLL

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

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

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

x
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。在ASP文件中挪用DLL
静态连接库(DLL)是加速使用程序关头部分的实行速率的主要办法,但有一点生怕年夜部分人都不晓得,那就是在ASP文件也能经由过程挪用DLL来加速服务器的实行速率,上面我复杂的先容一下在ASP文件挪用DLL的步骤。
  起首,必需得有DLL文件,本例是经由过程VB5.0创立ActiveXDLL文件,这个文件摹拟了一个掷色子的历程。
在VB5.0的情况下,新建一个工程,并双击新建工程窗口中ActiveXDLL图标,VB将主动为项目增加一个类模块,并将该项目范例设置为ActiveXDLL。在属性窗口将类模块的称号属性改成clsDice。从工程菜单中,选择工程属性,将工程称号改成MyDLL。从文件菜单中,选择保留clsDice,将类模块保留为myDice.cls。增加以下代码:

OptionExplicit

PrivateMax,PointAsInteger

PublicPropertyGetResult()AsInteger
Result=Point
EndProperty

PublicPropertyGetMaxpoint()AsInteger
Maxpoint=Max
EndProperty

PublicPropertyLetMaxpoint(numAsInteger)
Max=num
EndProperty

PublicSubThrow()
Randomize
Point=Int(Rnd*Max)+1
EndSub

PrivateSubClass_Initialize()
Max=6
EndSub

  这个类模块界说了clsDice工具的两个属性和一个办法,这些属性和办法摹拟了掷色子的历程。个中Maxpoint属性暗示色子的面数,到场PropertyLet语句将使客户能修正色子的面数;Result属性暗示最初掷杰出子的点数;Throw办法代表掷色子的举措;PrivateSubClass_Initialize语句将色子的面数缺省的设置为6面。

  从文件菜单中,选择天生MYDLL.DLL并将它保留到得当的中央。至此,我们就创立了一个本人的DLL文件。

  第二步要做的就是要在ASP文件中援用类clsDice。

  ASP(举动服务器页面ActiveServerPages)的一切代码都是在服务器上运转的,客户只能检察以HTML情势传回的了局。它利用“<%”和“%>”标志来标识剧本代码,其实不传回客户端,在代码内部,利用HTML标志来标识内容。鄙人面Dice.asp的代码中利用了CreateObject函数创立了一个clsDice工具实例,该工具来自于下面创立的ActiveX.DLL--MYDLL.DLL文件,上面的例子利用了VBScript剧本言语。



装载METADATA标签中指定的范例库。Path是mydll.dll在呆板上寄存的路径
<html>
<head><title>在ASP文件利用DLL</title></head>
<body>
<%
OnErrorResumeNext‘当程序呈现不测毛病时能持续实行

IfRequest.Form("T1")=""then
Session("point")=6
Else
Session("point")=Request.Form("T1")
EndIf
用Session("point")来寄存色子的面数

Setdice1=Server.Createobject("MyDLL.clsDice")
利用set语句创立dice1工具,个中MyDLL是下面创立dll文件时的工程称号(注重:不是文件的称号),clsDice为类模块的称号。至此我们就能够用Maxpoint,Result和Throw属性(办法)来对dice1工具举行操纵。

IfRequest.ServerVariables("Request_Method")="POST"then
dice1.Maxpoint=Session("point")‘设定色子的面数
dice1.Throw’掷色子
%>
<formmethod="POST"action="dice.asp">


当色子的面数为<inputtype="text"name="T1"size="5"value=<%=session("point")%>>时</p>


<inputtype="submit"value="掷色子"name="B1"></p>
</form>


了局为:<%=dice1.Result%>点</p>‘前往了局
<%
Else
dice1.Maxpoint=Session("point")
%>
<formmethod="POST"action="dice.asp">


当色子的面数为<inputtype="text"name="T1"size="5"value=<%=session("point")%>>时</p>


<inputtype="submit"value="掷色子"name="B1"></p>
</form>
<%
EndIf
%>
</body>

</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
小妖女 该用户已被删除
沙发
发表于 2015-1-25 20:23:19 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-30 21:39:30 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
若相依 该用户已被删除
地板
发表于 2015-2-3 11:54:26 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
柔情似水 该用户已被删除
5#
发表于 2015-2-8 20:36:20 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
金色的骷髅 该用户已被删除
6#
发表于 2015-2-26 05:57:42 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-8 12:14:04 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
若天明 该用户已被删除
8#
 楼主| 发表于 2015-3-15 22:45:53 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-22 17:16:47 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-25 00:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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