使用ASP中的VB ActiveX.dll文件
2014-04-29 15:28
218 查看
没有人会在没有必要的情况下采用更加麻烦的方法来工作,除非是没有选择的余地。所以如果我要告诉你有一种简单的技术可以使你的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的原因
在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。
相关文章推荐
- 使用VB将ASP代码封装生成DLL文件
- [收藏]使用ASP中的VB ActiveX.dll文件
- [导入]ASP进阶:VB中的模块,类,ActiveX与API的使用
- 使用VB将ASP代码封装生成DLL文件
- 使用ASP中的VB ActiveX.dll文件
- 记录:在ASP.NET中使用ActiveX插件时遇到的问题
- 手把手教你使用VB来创建ASP组件
- 用VB编写ActiveX DLL实现ASP编程(主要是数据库连接)
- 手把手教你使用VB来创建ASP组件
- VB编写各类COM对象(特别是ASP)时,如何让外部对象使用含有可选参数的函数
- 关于asp使用CreateObject("Excel.Application")出现无法创建ActiveX对象的错误
- ASP.Net中使用VB.Net调用存储过程并得到返回值
- 用 Delphi 7 创建 ActiveX 组件交 ASP 使用
- 怎样使用ActiveX DLL 来封装窗体Form为DLL文件
- 手把手教你使用VB来创建ASP组件
- 使用VB将ASP代码封装生成DLL文件
- 手把手教你使用VB来创建ASP组件
- vb、asp和html中调用c#类库生成的dll文件所遇问题解决方案
- vb中使用Xtreme Command Bars ActiveX Control 的IPrintView接口绘制图形
- ASP.Net中使用VB.Net调用存储过程并得到返回值