本文主要是将ASP代码转换成组件,而开发人员不仅加快了ASP的速度,还保护了自己的代码。
接下来,我们将编写一个非常简单的组件。关键是要知道如何开发DLL组件,而不是复杂的代码。所有这些都取决于你自己的努力。

服务器端组件

首先,服务器端组件具有与客户机不同的组件。客户端组件通过网络传输,依靠HTML来工作。只在IE.有用,组件服务器在服务器上运行,它在服务器上执行各种操作。因此,所有浏览器都可以享受它。依靠服务器而不是浏览器。

当IIS请求执行一个ASP程序,它将在ASP的第一个文件找到% >标签之间的代码并执行它(也可以是脚本runat=服务器>> /脚本代码之间)。如果以前被称为ASP程序,然后将它用在程序存储器编译器返回给用户的HTML代码,如果没有,那么它是编译。这里ASP比CGI速度优势多一点,因为CGI是每个使用线程的请求。它可以消耗服务器资源。

您想在IIS中运行自己的程序吗现在你可以做了!(当然,现在用VB5 VB6),您可以创建动态链接库(DLL文件),可直接运行在IIS(如果有ASP文件的请求)。

系统和软件要求

你需要一个32位的操作系统上运行ASP,当然你必须安装IIS或PWS ..下面的程序是Windows95环境下开发+ PWS + VB5。

让我们开始。

启动VB,选择ActiveX图标。这个图标可以在新项目中找到!VB将提供一个默认项目名称(项目)和类的名称(一级)。我们得去掉这两个名字。在重命名之前,确保我们有微软Active Server页面对象库,它在我们的程序中非常有用。从菜单中选择项目,然后选择引用
选择微软活动服务器页面对象库。从它

命名工程与类

现在让我们根据自己的爱好和一班的名字中。命名它们也是非常重要的。稍后我们将使用这个工程名称和类名来创建这个组件的示例。

我不想再多说怎么改名了!
我们的工程名称更改为例,和类的名字是Helloword

如何使用工程和类

现在我们有我们自己的项目(例)和类的名字(HelloWorld)。我们将通过使用它们的名称来引用ASP代码中的这个组件。在ASP,我们将引述如下:

集objreference = server.createobject(项目。类名)

对我们项目的参考是:
集objreference = server.createobject(example1. HelloWorld)
现在我们可以使用objreference调用该函数,我们在组件创建子程序。下一步我们将编写一个子程序的打招呼。我们执行以下代码。


%
集objreference = server.createobject(example1. HelloWorld)
objreference.sayhello
%>


在helloword类使用ASP的方法,你必须在这类写OnStartPage
子功能。


市民Sub OnStartPage(passedscriptingcontext作为scriptingcontext)
集myscriptingcontext = passedscriptingcontext
端子



现在,无论什么时间与用户访问ASP文件的一个组成部分,其scriptingcontext IIS将发送给我们,请。我们用scriptingcontext对象包括ASP的方法和属性。该实现使我们能够访问所有ASP对象。请看下面的代码:


市民Sub OnStartPage(passedscriptingcontext作为scriptingcontext)
集myscriptingcontext = passedscriptingcontext
设置应用myscriptingcontext MyApplication =。
把我的请求,请求myscriptingcontext。
设置= myscriptingcontext响应响应。
个= myscriptingcontext服务器设置。
mysession = myscriptingcontext会话设置。
端子


之后,我们可以使用VB来代替ASP的申请应用,可代替请求,服务器…同样的,但是我们要声明这些变量在OnStartPage。


私人myscriptingcontext作为scriptingcontext
私人申请应用
私人MyRequest As Request
私人MyResponse反应
Private MyServer As Server
私人mysession会话



对象使用ASP
我们的变量现在可以用作标准的ASP对象。例如,我们经常使用Request.form()在ASP收集的数据提交表单。现在我们在VB中实现这个函数。

ASP实施:
%
mytempvariable =请求。形式(用户名)
响应。写(输入mytempvariable 用户名)
%>


在vb中的实现:


mytempvariable =我的请求。形式(用户名)
响应。写(输入mytempvariable 用户名)



利用响应不响应,我们可以使用所有的反应的方法。当然,名字取的响应可以在任何时间,你甚至可以采取的回应。
另一件事我们应该注意的是,我们在课堂上写OnEndPage子函数建立。这个OnStartPage是相反的。OnStartPage是创作对象,和OnEndPage是对象的破坏。



市民Sub OnEndPage()
集myscriptingcontext =没有
设置申请=没有
把我的请求=没有
设置响应=没有
设置服务器=没有
集mysession =没有
端子



sayHello方法
让我们建立一个子函数显示你好世界。这跟方法在HelloWorld类只有一个子函数。稍后我们将在ASP使用以下显示方法。


%
集objreference = server.createobject(example1. HelloWorld)
objreference.sayhello
%>



打招呼的程序,非常简单!

市民Sub SayHello()
响应。写(Hello World)
端子

现在是完成一个小的组件,剩下的工作就是编写这个组件,它保存在项目菜单中,我们能用什么exmaple1.vbp!然后在菜单中选择使exmaple1 dll。

注意,编译这个组件,那么你必须关掉你的PWS第一,然后重新编译的组件。否则,VB会告诉您一些组件正在使用中。

在ASP使用我们自己的组件。

当你正确的编译错误,编译成功的海上项目,现在你必须拿出你最喜欢的HTML编辑器编写以下语句,并保存为ASP文件。


html

标题>示例1 ()
头/ >

体>

%
集objreference = server.createobject(example1. HelloWorld)
objreference.sayhello
%>




运行后,您可以看到结果:

你好世界

注册组件

如果您希望您的朋友和邻居共享您的组件,则必须在系统上注册您的组件。我们使用regsvr32.exe登记组件。你的组件注册后会出现在Win95或Win98 Windows系统目录。下面是一个注册的例子:

regsvr32.exe C: / / example1.dll 1

在你的系统,VB将自动登记你的,所以你很少使用regsvr32.exe

我们只是在这里写了一个很小的组件,你可以编写你自己的更大的组件,你也可以在VB中使用很多控件。