学院首页>网络编程>ASP>将ASP代码移植为VB COM组件(3)

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

作者:青苹果电脑工作室 来源:china asp 添加时间:2006-5-21 10:28:55
一个快速回答的问题:为什么关于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。
站内搜索