选择显示字体大小

使用asp中的vb activex.dll文件

没有人会在没有必要的情况下采用更加麻烦的方法来工作,除非是没有选择的余地。所以如果我要告诉你有一种简单的技术可以使你的asp开发更加快速,并且更加高效率,你一定对此特别感兴趣。这一方法将从你的asp页中的绝大部分business logic转移到一个visual basic activex .dll以达到提高整个网页的性能。

使用activex .dll的原因
 
在visual basic中建立一个.dll文件实际上是一个activex对象。这种对象可以采用微软的组件对象模型(com)技术来实现,你也可以使用它们来建立与.dll相关的类。

开发人员利用.dll有很多原因,而且每一个工程也不会包含所有的优点。然而,一旦你采用这种方法,你就发觉你使用的是activex .dll技术。现在让我们看看使用activex .dll技术的优越性。

更好的性能
没有任何疑问,一个开发人员关注的主要问题是完整的性能。与一个普通的asp页相比,一个activex .dll运行速度更快。让我们看一看一个简单的范例。一个asp页计算一个从0到10000000的变量,然后显示一个“done”字符串需要26,087毫秒。然而vb.dll文件只需要100毫秒就可以完成这一过程。所以vb.dll比asp页快了260倍。

在这样的测试中,速度的差别是显而易见的,因为asp运行26秒,.dll只需要运行少于1秒。请记住,速度的差别主要是与代码所要处理的工作量有关,也就是说,代码执行的工作量越大,速度的差别就会越明显。如果将以上测试的文件扩大一倍,速度差别就会更明显。asp页需要25,156毫秒,然而.dll只需要70毫秒──后者以359倍的速度运行。

.dll相比于asp页运行更快的原因有两个:

.dll被编译。这就意味着文件在机器语言中运行,这就达到它能够达到的速度。asp页运行的是被一个脚本引擎处理的代码,这样,每一部分必须被编译然后才被处理。
.dll使用的是一个被声明为长整型数据类型的变量,这就不需要32位处理器的解释。而脚本页使用的是一个variant变量,这一变量类型必须被转换成一个数字,然后才能够在计算中使用,这样就不可避免地增加了处理时间。

变量声明方法更好
 
变量声明的方法可以使运行更加迅速,除此之外,还可以更容易地进行程序开发,因为变量类型不需要转换。变量可以在最初状态下就被声明,从而避免了编写额外的转换代码行。

源代码被隐藏
一个.dll文件可以使你的源代码隐藏而防止被一些黑客攻击。一个asp页将脚本程序以纯文本存储到你的网络服务器。一旦有人获得你的网络站点文件的访问权,网页就很容易地被访问,所以你的源代码就被公开和受到损害。使用一个普通的activex .dll文件来处理你站点的business logic,从而可以防止不怀好意的人访问你的源代码。

从开发环境更加丰富
你还可以使用微软的脚本编辑器来开发asp脚本。虽然这也是比较功能完整的工具,但它只提供了基本的脚本特性。相反,visual basic是一个丰富的开发环境。总之,这两种工具没有可比性──其中一个是脚本工具,另一个是功能完全的开发软件包。

更高效率的交叉开发
vb建立的.dll很容易地适用于其他的开发环境,比如微软的access。另一方面,当与其他环境进行交叉开发的时候,开发人员必须重新建立一个asp页的任务。

更高效率的asp
一个包含所有的business logic可以变得很冗长。.dll文件是一种很高效地解决方法,因为它包含的所有的逻辑。这种管理结果是:更加简单而又高效的代码。

一些缺点
对于大部分而言,使用activex .dll的优点要胜过其缺点,但你应该记住还是存在一些缺点。首先,activex .dll在某些情况下会导致更多的开发时间。例如,在变量计算中使用.dll文件需要大约两秒,但asp页只需要一秒。然而,这在开始阶段还不是很明显。在最后阶段使用的一套组织良好和可重复使用的activex .dll类可以缩短你的开发时间。

第二,典型asp页很容易被更改:你只需要添加脚本和保存文件。更新一个与asp页相联系的.dll相当复杂,因为在不重新启动网络服务器的情况下,你不能编译.dll。然而,作为一个通用的规则,你可以简化地重新启动网络服务器,然后在服务器再次运行的时候编译或复制一个新的.dll。重新启动服务器只需要一秒的时间,所以不会出现中断。

第三,在网络服务器中必须建立运行时间。如果你在一个asp页中使用一个activex .dl,但没有安装vb运行时间,你可以很简单地使用软件包和开发向导来安装所有的过程。请记住,如果你或者你的用户要使用到ado,你必须安装其他的软件,比如mdac。

使用activex .dll的一些技巧
 
使用activex .dll不是很困难,但一些简单的技巧会使你的开发过程变得顺利。首先,不要忘记注册一个.dll并使用它。为了注册一个activex .dll,可以使用windows api调用函数:

public declare function .dllselfregister lib "vb6stkit.dll" (by val lp.dllname as string) as integer

改变一个.dll之后,如果你需要添加一个新的类或者复制源代码到另一个开发环境,你必须重新注册.dll。编译一个activex .dll会分配一个唯一的标识符给文件。如果你复制源代码到另一台机器并编译它,标识符就会改变而映射当前的机器。这样,每一次你复制.dll到网络服务器,你必须重新注册它。

使用.dll文件有时候需要你人工地需要启动服务器。人工地重新启动网络信息服务器(iis)的最简单方法是通过计算机管理(一个windows2000 功能)来连接。如果你具有windows 2000服务器资源工具箱,你也可以使用service.vbs工具来运行这些批文件:

c:
cd\
cscriptservice.vbs /x /n w3svc /s iismachinename
pause
cscriptservice.vbs /g /n w3svc /s iismachinename

当调试.dll时,使用visual basic的调试特性,这些特性包括当你载入一个asp页时允许你查看所有代码。你可以在microsoft knowledge base栏的visual basic的调试知识中学到更多的东西。

使用.dll得到更多的好处
一个普通的asp页与一个与visual basic activex .dll有关的网页是无法比较的,后者运行速度更快,而且开发效率更高。这就使得它的使用者在开发过程中变得很顺利。你可以为用户开发出一个更优秀的产品,每一个人都能够从这种管理中得到更多的好处。


--------------------------------------------------------------------------------

本文作者 susan sales harkins是一个独立自由的软件开发顾问,也是有关数据库开发和网络技术的许多文章的作者。有关她最近的书籍是:sql: access to sql server (apress), mastering dreamweaver mx databases (sybex), 以及absolute beginner's guide to microsoft access 2002 (que)。drew wutka是marlow industries公司的microsoft access/visual basi的网络开发人员。


--------------------------------------------------------------------------------

 


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons