当前位置: 首页 > 图文教程 > 网络编程 > ASP > 将ASP代码移植为VB COM组件-3

ASP
Asp+Sql 对数据库的各种操作
ASP:6行代码实现无组件上传
ASP中几种分页显示的比较
ASP中数据库调用中常见错误的现象和解决
ASP实用技巧:强制刷新和判断文件地址
asp全站防止注入的代码
ASP如何获取客户端真实IP地址
ASP实现可显示和隐藏的树型菜单
如何用ASP获取真实IP地址
ASP与SQL数据库连接代码
拒绝攻击 万能Asp防注入代码
草根站长成长计划:跟我学新云采集入门(2)
ASP技巧:提高使用Request集合的效率
Asp用存储过程实现数据分页
做网页时常用的ASP函数
Asp编码优化技巧八则
ASP中Cache技术的应用
用ASP封IP的方法,防止固定IP垃圾留言
ASP实现一行多列显示方法实例程序
ASP实现动态添加表单内容的实例程序

将ASP代码移植为VB COM组件-3


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 44 ::
收藏到网摘: n/a

  一个快速回答的问题:为什么关于ASP的书中,讨论使用子程序和函数的代码的那么少?

     虽然一行一行地写ASP代码要更加简单,但是以程序的形式来编码却有许多益处。

     首先,非程序化的代码不容易移植到Visual Basic。也许目前你没有这个计划,但是总有一天你会为了
其性能或可扩展性而将一些代码移植到组件中。

     其次是程序是运行得更快。对ASP性能的最大消耗是上下文转换,每次从ASP代码区< % % > 移到无格式的
HTML时都会发生。因为你不会在程序内部编码一个上下文转换,就不讳感觉到这种消耗。另外,ASP的
缓冲器也显示当子程序用程序化代码点击页面时会有很大的不同。这里是使用程序化代码的ASP应用程序
"Hello World" 的必须部分:

     Private Sub Main()
     Response.Write "Hello World!"
     End Sub

     Call Main

     为了完整起见,我在程序中包含了一个上下文转换的小例子。如果你试验这个代码,它会运行,但是请
不要在你自己的应用程序内部这样做。

     < %@ Language=VBScript % >
     < %
     Private Sub DoStuff()
     % >
     This is < b > HTML Text! < /b >
     < %
     End Sub
     % >
     < HTML >
     < HEAD >
     < META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0" >
     < /HEAD >
     < BODY >
     < P >< % Call DoStuff % >< /P >
     < /BODY >
     < /HTML >

     程序化的代码还有一些其它益处。首先你会发现再利用包含在程序中的代码部分更加容易。其次,要
实现同样的目的所需要的代码行更少。第三,你将要开始开发一个大的可再利用代码库。开始时它的
形式是.inc 文件,最后你自己的普通COM组件看起来就像Jeff Gordon(著名赛车选手)一样棒。

     移植你的代码

     有几件事与从VBScript向Visual Basic移植代码一样简单。一般来说,你需要移走代码并增加数据类型。
有时,也可以在Visual Basic中应用一些更有效的算法,但是必须先保证代码可以正常工作。

     在我们这个应用程序举例中,将要移植一些简单的代码到两个Visual Basic COM 组件中。将一些HTML
表格格式拖到表述类中,将ADO 对象代码拖到包裹了ADO 的数据存取类中。通过将这两个类都放入
ActiveX DLL 工程文件中可以使工程文件稍稍简单化。在实际工作中,可以为每一层创建单独的工程
文件,但是这个工程文件要在一个DLL中表明思路。如果你想纠正这种情况,就将数据存取类移到另一个
工程文件中并作为一个DLL编译。必须在表述要应用它的DLL工程文件中增加对这个新DLL的引用。

     在这个样本工程文件中使用的数据库是一个Northwind 数据库,它与Visual Basic包含在一起。在这个
样本工程文件的ZIP 文件中,我为那些没有安装Visual Basic的人做了这个文件的一个表格的版本。样本
工程文件中还包含一个与ASP代码一起使用的编译过的DLL。