An Introduction to Webclasses

See Also

A webclass is a Visual Basic component that resides on a Web server and responds to input from the browser. When you create an IIS application, you create its webclasses using the Webclass Designer. Webclasses typically contain webitems and the code that delivers those webitems to a client.

Note   There is a one-to-one relationship between the Webclass Designer and the webclass. If you want to add additional webclasses to your application, you must add additional designers.

A webclass is associated with one and only one client for its entire life cycle. Visual Basic creates a logical instance of the webclass for each client that accesses it. However, for each client, the webclass is capable of maintaining state between requests.

For More Information   See "State Management in IIS Applications" for more information about maintaining state in a webclass.

Webclasses and .ASP Files

Each webclass in an IIS application has an associated .asp (Active Server Pages) file that Visual Basic generates automatically during the compile or debug process. The .asp file hosts the webclass on the Web server. In addition, it generates the webclass's run-time component when the application is first started and launches the first event in the webclass's life cycle.

The following figure shows the relationship between .asp files, webclasses, and webclass contents.

Relationship Between .asp Files and Webclasses

As shown in this picture, there is a one-to-one relationship between webclasses and .asp files — each webclass has its own ASP. In turn, a webclass can have many webitems associated with it.

The path to the ASP acts as the base URL for the webclass and its webitems. A URL is a standard way of indicating the location of a document or other item that is available electronically. (For example, http://www.microsoft.com is a URL.) When you want to go to a page on the Web, you enter the URL for the page and the browser retrieves and displays it. You can indicate the URL directly, by typing it into the location line of your browser, or indirectly, by selecting a link that tells the browser the correct URL to which it should go. A base URL refers to the webclass itself, and can act as an entry point into the application.

For example, suppose you have a project called Project 1, that contains a webclass called CustomerInquiry. You specify in the NameInURL property that the ASP should be named Project1_CustomerInquiry. Visual Basic creates the ASP and gives it this name when you compile the project, and stores it in the specified directory, called CustomerSupport, on the Web server you specify:  www.mycompany.com. The base URL for your webclass would be the following:

http://www.mycompany.com/CustomerSupport/Project1_CustomerInquiry.asp

To start your IIS application, the user accesses this URL with their browser.

Webclass Contents: Templates and Custom Webitems

A webclass typically contains webitems that it uses to provide content to the browser and expose events. A webitem can be one of two things:

Templates and custom webitems both expose events that the webclass processes when certain actions occur in the browser. You can write event procedures for these events using standard Visual Basic code, thus linking the actions that occur on a Web page to Visual Basic processing.

Each webclass can contain multiple templates and webitems. In most cases, you will need only one webclass in your application, but you might want to use multiple webclasses if you want to break up your application into parts that can be reused in other applications.

For More Information   See "Webclass Events" for more information on template and custom webitem events. See "Adding HTML Templates to the Webclass" for more information on template webitems. See "Adding Custom WebItems to a Webclass" for more information on custom webitems.

IIS Applications vs. Traditional Visual Basic Applications

IIS applications are structured differently than standard, forms-based Visual Basic applications. In an IIS application, the user interface consists of a series of HTML pages rather than traditional Visual Basic forms. An HTML page is like a form in that it contains all the visual elements that make up your application's user interface. You can place some of the same items into a page as you do a form, including text, buttons, check boxes, and option buttons.

An HTML page referenced in an IIS application is saved to an .htm or .html file that is analogous to a .frm file, in that it is used to render and display the page to the end user. Visual Basic creates the .htm file from the original HTML page when you save or debug your application, or when you use the Edit HTML Template menu command.

In an IIS application, you do not use Visual Basic to create the HTML pages that make up the application's user interface. A Web designer or a developer creates the pages using an HTML editor, a word processing package, or a text editor, and you link the finished pages into your webclass.

The following table sums up the differences between forms-based applications and Web-based applications:

Forms-based application Web-based
application
User interface Visual Basic forms HTML pages
UI elements (for example, text boxes, buttons, images) Controls Elements
File format .frm files .htm files
Creator Developer Web designer with a developer, or the developer alone
Run time Visual Basic run time Web browser

Structure of IIS Applications

An IIS application consists of the following pieces. Many of these are generated for you automatically when you build your project. The pieces include:

The following figure shows how the server portions of an IIS application work together:

Structure of IIS Applications

Like other Visual Basic applications, an IIS application has code modules and a visual designer. IIS application objects are stored in plain text files that contain the source code of the webclass, events and property settings, and the webitems for the webclass. Visual Basic uses the extension .dsr for these files. In addition to the .dsr file, Visual Basic generates a .dsx file that contains a binary version of the application.