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

ASP
TSYS 新闻列表JS调用下载
使用asp代码突破图片的防盗连
一种理论上最快的Web数据库分页方法
asp:debug类调试程序
如何增加Referer功能--反向链接插件
pjblog中清空引用的小程序
光碟工具 Alcohol 120% v1.9.6.4719 下载(附序列号注册码)
ASP实现头像图像随机变换
UTF-8 Unicode Ansi 汉字GB2321几种编码转换程序
[转]XMLHTTPRequest的属性和方法简介
ASP常用函数:getpy()
我用ASP写的m行n列的函数,动态输出创建TABLE行列
ASP常用函数:Delay()
ASP常用函数:Trace()
[转]ASP实现关键词获取(各搜索引擎,GB2312及UTF-8)
对象标记具有无效的 ''MSWC.MyInfo'' ProgID
ServerVariables集合检索预定的环境变量
HTTP_HOST 和 SERVER_NAME 的区别详解
[转]ASP常用函数:TimeZone
Eval 函数 | Execute 语句 | ExecuteGlobal 语句

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 231 ::
收藏到网摘: 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。