Thornton Rose
Published as "Writing Active Server Components in Visual Basic", 4/30/98, Developer.com.
Copyright © 2001, Thornton Rose.
Active Server components are a feature of Microsoft Internet Information Server (IIS) that provide a framework for building compiled components that can be used within Web pages. Below are step-by-step instructions for building Active Server components in Visual Basic (VB) 5.0. The process involves Active Server Pages (ASP), another feature of IIS. ASP provides the ability to combine server-side scripting in the same file with HTML, allowing you to use Active Server components and create dynamic Web pages.
Here are the tools that you need to build Active Server components:
Note: You will want to install IIS on your workstation, because VB will need to reference some of the IIS libraries, and you may need to start and stop the Web server during testing.
Building an Active Server component is not hard. Here are the steps involved in the construction of a small component that performs some simple file IO operations and generates a little HTML:
Create an ActiveX DLL project and set the name to "ASCExample"
Microsoft Active Server Pages 1.0 Object Library
Microsoft Scripting Runtime
Testing your Active Server component is easy (although debugging can get tedious). A few lines of VBScript or JavaScript in an ASP page is all that is required. Here is the test script.
To use the test script, do the following:
http://localhost/<dir>/ASCExampleTester.asp
,
where the <dir> tag is the name of the Web directory where ASCExampleTester.asp
resides.
When you run the test script, you should get this output.
Basically, an Active Server component is just a VB class. What makes it different, though, is:
OnStartPage() is called when the component is created and can be used to get references to objects that exist within the context of an ASP page. These objects can then be used for many purposes, such as writing HTML to the response that is sent to the client. This can be seen in the help() method.
OnEndPage() is called when the component is destroyed, which will happen when the current ASP page is completely processed. This method can be used to free resources, release object references (i.e., set them = Nothing), and do other clean up.
Additionally, you should notice that some of the members of the FileIO component are private and some are public. (There are no protected members, since VB does not support inheritance.) As you would expect, only the public members are visible to users of the component. Remember, though, that a good practice in OOP is to make all member variables private and implement public accessor methods for them (e.g., getFoo() and setFoo()).
Here are two tips that might be helpful when you build some of your own Active Server components:
Building Active Server components is not hard, but it does require a high-end development platform that includes Visual Basic 5.0 Enterprise Edition and Internet Information Server running on Windows NT 4.0. In general, construction involves creating classes, implementing a couple of IIS-specific methods, and compiling them into an ActiveX DLL. Additionally, when you have built your components, using them is easier than building them and requires just a few lines of server-side scripting in a Web page.